Bonjour, j'ai un petit soucis en php.
J'ai créé un formulaire avec différents input text, des select... etc.
Et un input files (name = logo). Ce champ n'est pas obligatoire, j'aimerai tout simplement que mon script upload le fichier si le champs est renseigné.
Pour ce faire j'utilise : if(isset($_FILES['logo']))
et c'est à l'interieur de cette condition que j'ai mis mon code pour uploader le fichier (qui fonctionne correctement si je remplis le champ logo)
Pourtant si je décide de ne pas renseigner le champ, il me parcourt mon code et me dis que l'extension n'est pas bonne... (forcément il n'y en a pas !)
Je ne sais pas si j'ai été clair, voici le code :
if(isset($_FILES['logo']))
{
$dossier = '../php/logo/';
$fichier = basename($_FILES['logo']['name']);
$taille = filesize($_FILES['logo']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg', '.ai', '.pdf', '.psd', '.eps', '.tiff', '.bmp');
$extension = strrchr($_FILES['logo']['name'], '.');
if(!in_array($extension, $extensions))
{
$erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, ai, pdf, psd, eps, tiff ou bmp';
}
if(!isset($erreur))
{
$fichier = strtr($fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
if(move_uploaded_file($_FILES['logo']['tmp_name'], $dossier .$today.$extension))
{
echo 'Upload effectué avec succès !';
}
else
{
echo 'Echec';
}
}
else
{
echo $erreur;
}
} else {
echo 'Pas de logo';
}
EN gros, j'aimerai que si l'internaute ne renseigne pas le champ, on affiche directement "pas de logo", alors qu'au jour d'aujourd'hui il entre dans la première condition if.
Merci beaucoup ça doit être une erreur d’inattention mais je bloque