recuperer les valeurs a l'exterieur d'un if()

Petit nouveau ! | 9 Messages

05 oct. 2010, 16:39

Bonjour

je veux recuperer les valeurs de $renomer_image et les mettre dans un tableau mais a l'extérieur du if() mon code est le suivant :

Code : Tout sélectionner

<?php if(isset($_FILES['uploadfile']['name'])){ $uploaddir = './uploads/'; $x = rand(0,100); $nom_image = basename($_FILES['uploadfile']['name']); $renomer_image = $x . basename($_FILES['uploadfile']['name']); $file = $uploaddir . $renomer_image; $size=$_FILES['uploadfile']['size']; if($size>1048576) { echo "error file size > 1 MB"; unlink($_FILES['uploadfile']['tmp_name']); exit; } if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $file)) { echo "success"; } else { echo "error ".$_FILES['uploadfile']['error']." --- ".$_FILES['uploadfile']['tmp_name']." %%% ".$file."($size)"; } } ?> Merci d'avance de votre aide

ViPHP
xTG
ViPHP | 7331 Messages

05 oct. 2010, 17:14

Et quel est le soucis ? Tu ne sais pas construire un tableau ?
$tab = array();
$tab[] = 1;
$tab[] = 2;
// donnera : array(1,2)

Petit nouveau ! | 9 Messages

05 oct. 2010, 17:25

Non je sais très bien construire un tableau le problème comment je peux récupérer les valeur a l'extérieur de if
voila
t'as pas bien compris ma question ;)

ViPHP
xTG
ViPHP | 7331 Messages

05 oct. 2010, 19:49

Bah tu testes si la variable existe avec un isSet() du fait que tu n'es pas sûr que le if où est déclaré la variable a été correctement exécuté et tu la réutilises.
Une variable déclarée est accessible jusqu'en bas du script sauf certaines conditions (dans le cas de classe ou de fonction) mais pas dans ton cas.

Petit nouveau ! | 9 Messages

06 oct. 2010, 11:44

s'il vous plait essaye de comprendre ce que je veux ma demande c'est pas facile moi
en tout cas merci pour votre reponse

Eléphant du PHP | 314 Messages

06 oct. 2010, 12:03

Salut,

Pour faire simple, si tu crée une variable dans un bloc if, elle disparait à la fin du bloc. Pour que cela n'arrive pas, déclare la avant...
<?php
$mavar=null;
if(1==1)
{
   $mavar=70;
}
echo $mavar; // écrira 70
Cordialement,
Julien - http://laravel.fr/

ViPHP
xTG
ViPHP | 7331 Messages

06 oct. 2010, 12:15

Plus précisément elle n'existera que dans un bloc si tu la déclares dans la condition d'exécution du bloc. (et encore je suis pas sûr car dans le cas d'une boucle while($tab=mysql_fetch_xxx()) on peut récupérer la dernière valeur de $tab en dehors de la boucle...)
Car déclarer une variable dans un bloc permet de la réutiliser en dehors (même si c'est pas propre, je vous le conçois).

Eléphant du PHP | 314 Messages

06 oct. 2010, 14:14

Car déclarer une variable dans un bloc permet de la réutiliser en dehors (même si c'est pas propre, je vous le conçois).
Bah là je tombe sur le cul...je savais que PHP était plus développeurFriendly que le C, mais pas à ce point :!:
Cordialement,
Julien - http://laravel.fr/

ViPHP
xTG
ViPHP | 7331 Messages

06 oct. 2010, 16:22

Il y a bien des choses qu'on peut faire en PHP qui sont dégueulasses. #-o
Des choses que même le plus cool des compilateurs C nous aurait bazardé à la tête.