champs file parametre mais pas obligatoire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : champs file parametre mais pas obligatoire

Re: champs file parametre mais pas obligatoire

par fabdu68 » 14 févr. 2016, 20:42

Bonjour,

merci pour la réponse, mais si j enleve le retourn, le format n'est plus controler et bloquant et du coup le champ reste obligatoire

Re: champs file parametre mais pas obligatoire

par or 1 » 14 févr. 2016, 20:39

tu enlèves le return quand l'erreur n'est pas bloquante.

champs file parametre mais pas obligatoire

par fabdu68 » 14 févr. 2016, 20:11

Bonjour un 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
public function setFile1(array $File1) {
                if($this->getError() != '') {
    return;
  }
      $this->File1 = $File1; 
}
public function uploadFile1() {
  if($this->getError() != '') {
    return;
  }
  if ($this->File1['error'] != '') {
    $this->setError('Veuillez choisir votre photo <br/> Erreur chargement 1er fichier: '.$this->File1['error']);
    return;
  }
  $dossier = 'resultat/';
  $fichier = basename($this->File1['name']);
  $taille_maxi = 5000000;
  $taille = filesize($this->File1['tmp_name']);
  //$extensions = array('.png', '.gif', '.jpg', '.jpeg', '.JPG', '.JPEG', '.bmp') ;
  $arr['.gif']  ='image/gif';
  $arr['.jpg']  ='image/jpeg';
  $arr['.jpeg'] ='image/jpeg';
  $arr['.JPG']  ='image/jpeg';
  $arr['.JPEG'] ='image/jpeg';
  $arr['.png'] ='image/png';
  $arr['.bmp'] ='image/bmp';
  $extension = strrchr($this->File1['name'],'.');
  //Si l'extension n'est pas dans le tableau
  if(!isset($arr[$extension]))
  {
    $this->setError('La photo doit être de type:<br/>-png<br/>-gif<br/>-jpg<br/>-jpeg<br/>-bmp');
    return;
  }
  if($taille>$taille_maxi) {
    $this->setError('Le fichier est trop gros...');
    return;
  }
  //On formate le nom du fichier ici...
  $fichier = strtr($fichier,
  'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
  'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
  $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
// Recherche Nom Unique avec un random
$subDir = "fichier/";
@mkdir($dossier.$subDir, 0777, true);
  $ran = rand(1, 99999);
  while (file_exists ($dossier.$subDir.'R_'.$ran.'F_'.$fichier)) {
    $ran = rand(1, 99999);
  }
  if(!move_uploaded_file($this->File1['tmp_name'], $dossier.$subDir.'R_'.$ran.'F_'.$fichier)) {
    $this->setError('Echec de l\'upload !');
    return;
  }
// OK, donc on stocke le 'NOM SERVEUR' (avec dossier)
  $this->File1['NomServeur'] = $dossier.$subDir.'R_'.$ran.'F_'.$fichier;
// Le nom tout court
  $this->File1['NomFichier'] = 'R_'.$ran.'F_'.$fichier;
// Le type de fichier (pour mail)
  $this->File1['ContType'] = $arr[$extension];
}