EMPTY ou ISSET
Posté : 04 nov. 2008, 19:26
Je reviens avec mon probleme car je n'ai toujorus pas trouver de reponse depuis plusieurs heures que je suis dessus et je dois avouer que je ne vois pas bien ou est le probleme.
Mon probleme vient d'un formulaire d'upload pour modifier un enregistrement existant
Je voudrais que le champs type "file" qui me sert a uploader la photo ne soit pas toujours obligatoire a remplir.C'est à dire qu'on peut modifier un enregistrement sans pour autant modifier la photo
or avec mon script si on ne va pas chercher la photo, et que le champs est vide ca m'ecrase l'enregistrement en mettant rien a la place
j'ai donc mis une condition pour uploade avec un if (!empty (£_FILES('photo'] ...mais bon ca ne fonctionne pas , si c'est empty ca m'ecrase en mettant rien, si c'est !isset ca me mets que l'extension n'est pas autorisée
et là je dosi dire que je seche
voici le code
et merci a ceux qui auront l'amabilité de m'aider
bonne soirée
Nadege
Mon probleme vient d'un formulaire d'upload pour modifier un enregistrement existant
Je voudrais que le champs type "file" qui me sert a uploader la photo ne soit pas toujours obligatoire a remplir.C'est à dire qu'on peut modifier un enregistrement sans pour autant modifier la photo
or avec mon script si on ne va pas chercher la photo, et que le champs est vide ca m'ecrase l'enregistrement en mettant rien a la place
j'ai donc mis une condition pour uploade avec un if (!empty (£_FILES('photo'] ...mais bon ca ne fonctionne pas , si c'est empty ca m'ecrase en mettant rien, si c'est !isset ca me mets que l'extension n'est pas autorisée
et là je dosi dire que je seche
voici le code
et merci a ceux qui auront l'amabilité de m'aider
bonne soirée
Nadege
print_r($_FILES['photo']);
if(!empty($_FILES['photo']['name'])){
//extensions acceptées
$extension_ok = array('doc','xls','pdf');
$taille_max=500000;
$dest_dossier= "../img/info/";
//vérification de l'extension du fichier a uploader
if (!in_array( substr(strchr($_FILES['photo']['name'],'.'),1), $extension_ok) ){
$erreur="il ne s'agit pas d'une extension autorisée";
}
elseif ($_FILES['photo']['error']==2){
$erreur = " Le fichier est trop lourde, il doit etre inférieur à 500ko";
}
//copie du fichier
if (!isset($erreur)){
$dest_fichier = basename($_FILES['photo']['name']);
//on enleve les accents du nom de fichier
$dest_fichier = strtr($dest_fichier,
'àéèùöôüäâëêîï',
'aeeuoouaaeeii');
//remplacement des caracteres speciaux
$dest_fichier = preg_replace('/([^.a-z0-9]+)/i','_',$dest_fichier);
//copie du fichier dans le dossier de destination
move_uploaded_file($_FILES['photo']['tmp_name'],$dest_dossier.$dest_fichier);
//pour faciliter la recup
$nom_fichier=$dest_fichier;
}else {
echo $erreur;
echo '<br/><a href="info_modif.php">retour</a>';
exit();
}
}