Problème d'upload

romiain Messages postés 14 Date d'inscription lundi 13 février 2006 Statut Membre Dernière intervention 14 mars 2006 - 23 févr. 2006 à 11:47
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 23 févr. 2006 à 12:43
Salut à tous,
J'ai un problème avec mon upload, lorsque je charge une photo j'ai l'erreur suivante Notice: Undefined variable: name_file in c:\program files\easyphp1-7\www\trombi2\load.php
Si je ne charge pas de photo il me met bien mon image par défaut mais
je ne comprend pas pourquoi il ne connait plus ma variable name_file au moment de l'affichage de ma photo
Si quelqu'un à ume solution à mon problème merci d'avance

Voici mon code:


//CHARGEMENT PHOTO


if ($_FILES['fichier']['name']!='')//si le champ photo est différent de vide
{
if( isset($_POST['upload']) )//si le fichier est uploadé
{

$content_dir = '/Program Files/EasyPHP1-7/www/TROMBI2/photo/'; // dossier où sera déplacé le fichier

$tmp_file = $_FILES['fichier']['tmp_name'];//fichier : nom de la zone de saisie du fichier
//tmp_name : nom temporaire du fichier

if( !is_uploaded_file($tmp_file) )//si le fichier n'est pas uploadé
{
echo("Le fichier n'a pas été uploadé");
}

// vérification de l'extension

$type_file = $_FILES['fichier']['type'];

if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') && !strstr($type_file, 'png') )
{
exit("Le fichier n'est pas une image");
}

// on copie le fichier dans le dossier de destination

$name_file = $_FILES['fichier']['name'];

if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
{
exit("Impossible de copier le fichier dans $content_dir");
}

echo '
';
}
}
else
{$name_file='defaut.jpg';}//affichage de l'image par défaut



echo '';//affichage de la photo

7 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 févr. 2006 à 12:05
Parce que $name_file est définie dans un bloc, donc sa portée est limitée à ce bloc.
Tu dois initialiser ta variable AVANT ce bloc.
0
romiain Messages postés 14 Date d'inscription lundi 13 février 2006 Statut Membre Dernière intervention 14 mars 2006 2
23 févr. 2006 à 12:16
J'ai essayé de la définir avant mon premier if, je n'ai plus d'erreur mais l'upload ne fonctionne plus
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
23 févr. 2006 à 12:22
Salut,

je suis hors sujet mais :







// vérification de l'extension



$type_file = $_FILES['fichier']['type'];




if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg')
&& !strstr($type_file, 'bmp') && !strstr($type_file,
'gif') && !strstr($type_file, 'png') )

{

exit("Le fichier n'est pas une image");

}





c'est une horreur, j'ai posté un code source ici en éspérant ne plus revoir ces absurditées...

$_FILES['monfichier']['type'] est un champ rempli par le navigateur, et
un utilisateur qui aurait de mauvaises intentions pourrait donc,
s'amuser avec ton fichier... tu devrais utiliser les fonctions exif ou
gd pour vérifier le type de ton image...

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 févr. 2006 à 12:24
Il n'a jamais fonctionné, à mon avis...ton code n'est pas bon. Lis ceci :
http://fr2.php.net/features.file-upload
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 févr. 2006 à 12:27
Ouais, mais on ne peut pas AVANT d'avoir uploadé l'image.
Moi, je checke généralement avant, de cette manière, pour faire un premier filtre. Puis j'uploade, et je vérifie à nouveau avec GD. Si c'est pas bon, j'efface le fichier et basta.
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
23 févr. 2006 à 12:38
Salut,

malam, de toute façon, quand ton fichier est dans un
répertoire temporaire, alors tu ne crains rien... alors moi je ne fais
qu'une vérification : celle avec gd... mais il est très important de la
faire...

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 févr. 2006 à 12:43
Ouais c'est sûr. M'enfin bon...lol. Je filtre quand même avant, ça limite tjrs les accès au serveur un minimum (il y en a tjrs qui sont stoppés à ce moment là).
0
Rejoignez-nous