champs file parametre mais pas obligatoire

champs file parametre mais pas obligatoire - PHP - Programmation

Marsh Posté le 14-02-2016 à 19:22:56    

Bonjour à tous,
 
Il y a quelque temps j ai créée ce code pour vérifier que la photo ne dépasse pas une certaine taille et qu elle est tel ou tel format, mais maintenant je voudrais faire en sorte que ce champs ne sois pas obligatoire, mais la je bloque un peu, parce que je n'arrive pas à faire en sorte que le champs sois contrôler mais pas obligatoire.
 
Est ce que quelqu un pourrait m'aiguiller?
 
Merci
 

Code :
  1. public function setFile1(array $File1) {
  2.                 if($this->getError() != '') {
  3.     return;
  4.   }
  5.       $this->File1 = $File1;
  6. }
  7. public function uploadFile1() {
  8.   if($this->getError() != '') {
  9.     return;
  10.   }
  11.   if ($this->File1['error'] != '') {
  12.     $this->setError('Veuillez choisir votre photo <br/> Erreur chargement 1er fichier: '.$this->File1['error']);
  13.     return;
  14.   }
  15.   $dossier = 'resultat/';
  16.   $fichier = basename($this->File1['name']);
  17.   $taille_maxi = 5000000;
  18.   $taille = filesize($this->File1['tmp_name']);
  19.   //$extensions = array('.png', '.gif', '.jpg', '.jpeg', '.JPG', '.JPEG', '.bmp') ;
  20.   $arr['.gif']  ='image/gif';
  21.   $arr['.jpg']  ='image/jpeg';
  22.   $arr['.jpeg'] ='image/jpeg';
  23.   $arr['.JPG']  ='image/jpeg';
  24.   $arr['.JPEG'] ='image/jpeg';
  25.   $arr['.png'] ='image/png';
  26.   $arr['.bmp'] ='image/bmp';
  27.   $extension = strrchr($this->File1['name'],'.');
  28.   //Si l'extension n'est pas dans le tableau
  29.   if(!isset($arr[$extension]))
  30.   {
  31.     $this->setError('La photo doit être de type:<br/>-png<br/>-gif<br/>-jpg<br/>-jpeg<br/>-bmp');
  32.     return;
  33.   }
  34.   if($taille>$taille_maxi) {
  35.     $this->setError('Le fichier est trop gros...');
  36.     return;
  37.   }
  38.   //On formate le nom du fichier ici...
  39.   $fichier = strtr($fichier,
  40.   'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
  41.   'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
  42.   $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
  43. // Recherche Nom Unique avec un random
  44. $subDir = "fichier/";
  45. @mkdir($dossier.$subDir, 0777, true);
  46.   $ran = rand(1, 99999);
  47.   while (file_exists ($dossier.$subDir.'R_'.$ran.'F_'.$fichier)) {
  48.     $ran = rand(1, 99999);
  49.   }
  50.   if(!move_uploaded_file($this->File1['tmp_name'], $dossier.$subDir.'R_'.$ran.'F_'.$fichier)) {
  51.     $this->setError('Echec de l\'upload !');
  52.     return;
  53.   }
  54. // OK, donc on stocke le 'NOM SERVEUR' (avec dossier)
  55.   $this->File1['NomServeur'] = $dossier.$subDir.'R_'.$ran.'F_'.$fichier;
  56. // Le nom tout court
  57.   $this->File1['NomFichier'] = 'R_'.$ran.'F_'.$fichier;
  58. // Le type de fichier (pour mail)
  59.   $this->File1['ContType'] = $arr[$extension];
  60. }

Reply

Marsh Posté le 14-02-2016 à 19:22:56   

Reply

Marsh Posté le 15-02-2016 à 14:56:58    

Bonjour,  
 
Il y a personne pour m'aiguiller?  
 
Merci

Reply

Marsh Posté le 15-02-2016 à 17:48:44    

Lignes 29 à 36 : elles font le test de la taille du fichier et de l'extension.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 15-02-2016 à 17:53:07    

bonjour,  
 
Oui sa je le sais...  
Moi ce que je voudrais c'est que si le champs est vide = pas de controle
Si le champs est plein = controle

Reply

Marsh Posté le 15-02-2016 à 22:54:21    

Ben tu testes si y'a un nom de fichier ou pas :/ if (!empty($fichier))


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 15-02-2016 à 22:56:35    

Bonsoir on ma dejà dit de faire comme ça et j'ai déjà essayer, j ai même demandé à un ami qui maitrise assez bien le php, mais on arrive pas...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed