Fonction optionnel (image)

Résolu/Fermé
lolerki Messages postés 606 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 1 mars 2017 - Modifié par lolerki le 10/02/2015 à 09:16
lolerki Messages postés 606 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 1 mars 2017 - 11 févr. 2015 à 08:55
Bonjour à tous,

Je viens solliciter votre aide, car je tante de rendre une fonction d'upload d'image optionnel. le problème, c'est que quand je n'ai pas d'image j'ai un tas d'erreur qui s'affiche (normal il n'y a pas d'image). J'ai fais quelque recherche sur internet ou j'ai vue qu'il fallait mettre une valeur par défaut, mais cela ne fonctionne pas dans mon cas.

Voilà la code en question :
function upload($index,$destination,$extension =false,$maxsize=false,$size=false)
{
 
 if(empty($_FILES[$index]) || $_FILES[$index]['error'] >0) //s'il n'y a des erreur
 {
  echo '<center><font color="red">Erreur : l\'upload c\'est mal passer</center></font>';
 }
 $ext = strtolower(substr(strrchr($_FILES[$index]['name'], "."),1)); //verification des extensions
 if($extension !=false && !in_array($ext, $extension)) //on verifie si l'extension est correct
 {
  echo '<center><font color="red">Erreur : l\'extension ne correspond pas au type autoriser (png, jpg, bmp, jpeg)</center></font>';
  return false;
 }
 if($maxsize !=false && $_FILES[$index]['size'] > $maxsize)
 {
  echo '<center><font color="red">Erreur : La taille de l\'image est trop élevèes</center></font>';
  return false;
 }
 $dimension = getimagesize($_FILES[$index]['tmp_name']);
 if($size != false && $dimension[0] > $size[0] || $dimension[1] > $size[1])
 {
  echo '<center><font color="red">Erreur : Les dimensions sont trop élevèes</center></font>';
  return false;
 }
 
 return move_uploaded_file($_FILES[$index]['tmp_name'], $destination.mt_rand(0,10000000000)."-".$_FILES[$index]['name']);
}


Merci de votre aide !

A voir également:

2 réponses

FFran6 Messages postés 13 Date d'inscription lundi 9 février 2015 Statut Membre Dernière intervention 11 février 2015
10 févr. 2015 à 18:12
Manquerait pas un return que je rajoute ?

if(empty($_FILES[$index]) || $_FILES[$index]['error'] >0) //s'il n'y a des erreur
{
echo '<center><font color="red">Erreur : l\'upload c\'est mal passer</center>



return;


}
0
lolerki Messages postés 606 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 1 mars 2017 102
11 févr. 2015 à 08:55
Bonjour,

Merci de ta réponse, mais ce n'est pas ce que je souhaite. Cela me permet juste de ne pas afficher les autres erreurs. Ce que je voulais, comme le champ n'est pas obligatoire c'est que l'erreur ne s'affiche tout simplement pas.

Merci.
0