Upload --> Vérifications

Upload --> Vérifications - PHP - Programmation

Marsh Posté le 25-06-2006 à 13:46:28    

Bonjour,
 
Je suis entrain de créer un site perso et je voudrais savoir si on a la possibilité de tester la validité de l'image... C'est à dire vérifier qu'elle ne fait pas, par exemple, plus de 2Mo et plus de 150 x 100 pixels ?
 
Il me semble que j'ai déjà trouvé :

Code :
  1. <input type="hidden" name="MAX_FILE_SIZE" value="2000000">


 
pour limiter les 2Mo, mais je ne trouve pas pour la limitation de 150 x 100...
 
Quelqu'un aurait-il une piste ?
 
 [:badaboumpanpan]

Reply

Marsh Posté le 25-06-2006 à 13:46:28   

Reply

Marsh Posté le 25-06-2006 à 13:51:06    

oui, j'ai une piste : getimagesize
 
A rechercher dans la doc de PHP. :o (avec des exemples d'utilisation fournis).

Reply

Marsh Posté le 25-06-2006 à 14:59:42    

Merci !!!
 
Du coup j'ai créé le script suivant :
 

Code :
  1. $uploaddir = "/chemin/";
  2. $uploadtmp = $uploaddir . basename($_FILES['fichier']['tmp_name']);
  3. $uploadfile = $uploaddir . basename($_FILES['fichier']['name']);
  4. $type_size = $_FILES['fichier']['size'];
  5. if($type_size > 1000000) {
  6.  exit("<p><h1 align=center>Le fichier trop volumineux !!!</h1></p>" );
  7. };
  8. if (move_uploaded_file($_FILES['fichier']['tmp_name'], $uploadtmp)) {
  9.  if (rename($uploadtmp,$uploadfile)) {
  10.   list($width, $height, $type, $attr) = getimagesize($uploadfile);
  11.   if ($width>150||$height>100) {
  12.    delete($uploadfile);
  13.    echo "<p><h1 align=center>Vérifiez que le fichier n'est pas supérieur à 150x100.</h1></p>";
  14.   }elseif ($type!=jpg&&$type!=JPG&&$type!=jpeg&&$type!=JPEG&&$type!=bmp&&$type!=BMP&&$type!=gif&&$type!=GIF&&$type!=png&&$type!=PNG) {
  15.    delete($uploadfile);
  16.    echo "<p><h1 align=center>Vérifiez que le fichier est bien une image.<br><font style='font-size: 8pt;'>(*.jpg, *.jpeg *.bmp, *.gif, *.png)</font></h1></p>";
  17.   }else{
  18.    echo "<p><h1 align=center>Le fichier est valide, a été téléchargé<br>et renommé avec succès.</h1></p>";
  19.   }
  20.  }else{
  21.   echo "<p><h1 align=center>Le fichier est valide, et a été<br>téléchargé avec succès.</h1></p>";
  22.  }
  23. }else{
  24.  echo "<p><h1 align=center>Attaque potentielle par téléchargement de fichiers.</h1></p>";
  25. };
  26. echo "<pre> Voici plus d'informations :\n";
  27. print_r($_FILES);
  28. echo '</pre>';


 
Mais j'obtiens le message suivant :
 
Fatal error: Call to undefined function: delete()
 
Quelqu'un serait-il pourquoi ?


Message édité par Badaboumpanpan le 25-06-2006 à 15:00:13
Reply

Marsh Posté le 25-06-2006 à 15:03:23    

Parce que la fonction delete() n'existe pas :o
voir unlink()

Reply

Marsh Posté le 25-06-2006 à 16:13:56    

Merci !!!

Reply

Marsh Posté le 26-06-2006 à 03:45:21    

Donc ce qu'il faut retenir de tout ça :  
1-Lire la doc :o
2-rechercher sur google avec des mots clés simples ex: PHP supprimer fichier  
et là tu aurais trouvé unlink dès le départ.
3-Evite d'utiliser le HTML comme tu le fais, c'est bien pourrave.
 
<p><h1 align=center> <== beurk !!! pourquoi ?
 
Parce que :  
1-On ne met jamais d'éléments de type block dans un P, donc les Hx, Div and Co ça ne se met pas dans un P
2-On n'utilise pas H1 comme tu las fait cradement. Si tu veux avoir un texte en gras, de grosse taille et centré, tu te fais une classe :  
<p class="error_msg">Le truc n'a pas été bidule....</p>
 
et en CSS tu style
 
p.error_msg { font-size:40px; color:red; font-weight:bold}
 
merci de suivre ces quelques recommandations à l'avenir

Reply

Sujets relatifs:

Leave a Replay

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