un upload chez free : comment verifier taille des images ? [RESOLU]

un upload chez free : comment verifier taille des images ? [RESOLU] - PHP - Programmation

Marsh Posté le 13-04-2005 à 13:55:15    

Bonjour,  
 
Je débute en php.  
J'ai un web perso chez free.  
J'ai un bout de code qui fonctionne parfaitement, avec une limite de poids pour les images, et auquel je voudrais ajouter des limites à la taille des images.  
 
Voici mon code actuel :
<?
// Taille max des fichiers
$MFS=51200;
// Répertoire de stockage est une variable
$rep="$pseudo/";
 
if(isset($_FILES['userfile']))  
{
 if($_FILES['userfile']['size']>0)  
  {
     $savefile= $rep.$_FILES['userfile']['name'];
     $temp = $_FILES['userfile']['tmp_name'];
     if (move_uploaded_file($temp, $savefile))  
      {  ?>
              <font color="#FFFFFF" size="1" face="verdana"><strong><font color="#CC99CC">Votre  
              photo a bien été enregistrée </font></strong>  
              <?   }  
             else  
              { ?>
              Erreur d'enregistrement !  
              <? }
  }  
else  
{ ?>
Trop gros fichier ! (50Ko max !)  
<? }  
 
}  
?>
</font>  
             
             
<FORM METHOD="POST"
      ENCTYPE="multipart/form-data">
        <div align="center">
     <INPUT TYPE=HIDDEN NAME=MAX_FILE_SIZE
      VALUE=<? echo $MFS;?>>
     <INPUT TYPE=FILE NAME="userfile">
     <font color="#FFFFFF" size="1" face="verdana">*<br>
     * : sélectionnez votre photo sur votre pc grâce au bouton parcourir<br>
     puis cliquez sur Enregistrer la photo pour la mettre en ligne.<br>
     <strong>Attention</strong> : poids max des photos : 75Ko et seuls les jpg
     et gif sont acceptés</font>
     <INPUT TYPE=SUBMIT value="Enregistrer la photo">
        </div>
</FORM>        
?>
 
Qui peut m'aider ?


Message édité par pdreulle le 13-04-2005 à 17:51:25
Reply

Marsh Posté le 13-04-2005 à 13:55:15   

Reply

Marsh Posté le 13-04-2005 à 13:59:17    

Ohhhhh, des balises <font> ! Ca faisait longtemps que j'en avais pas vu ! Dis-moi, tu viens du passé, t'as remonté le temps pour nous offrir encore des <font> ? :D :D
 
Sinon avec la librairie GD, on peut trouver la taille des images

Reply

Marsh Posté le 13-04-2005 à 14:03:12    

lol... Ben je sais que les <font> sont un peu moyenageux.. Mais bon, ca fonctionne.. POur le reste, c'est quoi la librairie GD ? Comment ca marche ? Comment j'integre ca dans mon code ? Je débute...

Reply

Marsh Posté le 13-04-2005 à 14:04:22    

Préhistorique, les <font> plutôt ;) Je refuse de répondre tant que tu ne les as pas enlevés :D

Reply

Marsh Posté le 13-04-2005 à 14:05:21    

roh.. pas de chantage...  
Ou alors, si : promis, les enlève dès que j'arrive à gérer la taille max des images...

Reply

Marsh Posté le 13-04-2005 à 14:36:00    

FlorentG a écrit :

Je refuse de répondre tant que tu ne les as pas enlevés :D


pareil tant qu'il mettra pas son code entre les bon tags :lol:

Reply

Marsh Posté le 13-04-2005 à 14:39:39    

Vous abusez. C'est bon, dans le formulaire, je peux laisser du HTML ?? :  
<?  
// Taille max des fichiers  
$MFS=51200;  
// Répertoire de stockage est une variable  
$rep="$pseudo/";  
 
if(isset($_FILES['userfile']))  
{  
 if($_FILES['userfile']['size']>0)  
  {  
     $savefile= $rep.$_FILES['userfile']['name'];  
     $temp = $_FILES['userfile']['tmp_name'];  
     if (move_uploaded_file($temp, $savefile))  
      {  
echo '<font color="#FFFFFF" size="1" face="verdana"><strong><font color="#CC99CC">Votre  
              photo a bien été enregistrée </font></strong>';  
                }  
             else  
              {  
 
echo 'Erreur d'enregistrement !';  
              }  
  }  
else  
{  
echo 'Trop gros fichier ! (50Ko max !)';  
 }  
 
}  
?>  
</font>  
             
             
<FORM METHOD="POST"  
      ENCTYPE="multipart/form-data">  
        <div align="center">  
     <INPUT TYPE=HIDDEN NAME=MAX_FILE_SIZE  
      VALUE=<? echo $MFS;?>>  
     <INPUT TYPE=FILE NAME="userfile">  
     <font color="#FFFFFF" size="1" face="verdana">*<br>  
     * : sélectionnez votre photo sur votre pc grâce au bouton parcourir<br>  
     puis cliquez sur Enregistrer la photo pour la mettre en ligne.<br>  
     <strong>Attention</strong> : poids max des photos : 75Ko et seuls les jpg  
     et gif sont acceptés</font>  
     <INPUT TYPE=SUBMIT value="Enregistrer la photo">  
        </div>  
</FORM>          
?>  

Reply

Marsh Posté le 13-04-2005 à 14:49:23    

ya un bouton pour poster du code, sinon c'est illisible...
 
enfin bon, regarde ça : http://fr.php.net/gd
et ça : http://fr.php.net/manual/fr/function.getimagesize.php

Reply

Marsh Posté le 13-04-2005 à 14:53:32    

Code :
  1. <? 
  2. // Taille max des fichiers   
  3. $MFS=51200; 
  4. // Répertoire de stockage est une variable   
  5. $rep="$pseudo/"; 
  6.  
  7. if(isset($_FILES['userfile'])) 
  8. if($_FILES['userfile']['size']>0) 
  9.   { 
  10.      $savefile= $rep.$_FILES['userfile']['name']; 
  11.      $temp = $_FILES['userfile']['tmp_name']; 
  12.      if (move_uploaded_file($temp, $savefile)) 
  13.       { 
  14. echo '<font color="#FFFFFF" size="1" face="verdana"><strong><font color="#CC99CC">Votre 
  15.               photo a bien été enregistrée </font></strong>'; 
  16.                 } 
  17.              else 
  18.               { 
  19.  
  20. echo 'Erreur d'enregistrement !'; 
  21.               } 
  22.   } 
  23. else 
  24. echo 'Trop gros fichier ! (50Ko max !)'; 
  25.  
  26. ?> 
  27. </font> 
  28.              
  29.              
  30. <FORM METHOD="POST" 
  31.       ENCTYPE="multipart/form-data"> 
  32.         <div align="center"> 
  33.      <INPUT TYPE=HIDDEN NAME=MAX_FILE_SIZE 
  34.       VALUE=<? echo $MFS;?>> 
  35.      <INPUT TYPE=FILE NAME="userfile"> 
  36.      <font color="#FFFFFF" size="1" face="verdana">*<br> 
  37.      * : sélectionnez votre photo sur votre pc grâce au bouton parcourir<br> 
  38.      puis cliquez sur Enregistrer la photo pour la mettre en ligne.<br> 
  39.      <strong>Attention</strong> : poids max des photos : 75Ko et seuls les jpg 
  40.      et gif sont acceptés</font> 
  41.      <INPUT TYPE=SUBMIT value="Enregistrer la photo"> 
  42.         </div> 
  43. </FORM>


 
Comme ca c mieux ? Je file voir tes urls... Mais je debute vraiment...

Reply

Marsh Posté le 13-04-2005 à 14:56:21    

ya un bouton edit aussi, ça nous eviterait d'avoir 3 fois ton code sur la même page  ;)

Reply

Marsh Posté le 13-04-2005 à 14:56:21   

Reply

Marsh Posté le 13-04-2005 à 14:59:05    

Ouais... Bon, j'utilise des <font>, je sais pas me servir d'un forum, j'ai des urls... Mais le résultat est le même, mon code, y marche pas :-)...

Reply

Marsh Posté le 13-04-2005 à 16:14:20    

J'ai trouvé !  

Code :
  1. <?
  2. // Taille max des fichiers (76800 octets = 70ko; /1024)
  3. $MFS=76800;
  4. $largeurmax =2;
  5. $hauteurmax =2;
  6. // Répertoire de stockage
  7. $rep="$pseudo/";
  8. list($width, $height, $type, $attr) = getimagesize($_FILES['userfile']['tmp_name']);
  9. if(isset($_FILES['userfile'])) {
  10. if($_FILES['userfile']['size']>0 AND $width<$largeurmax AND $height<$hauteurmax) {
  11.    $savefile= $rep.$_FILES['userfile']['name'];
  12.    $temp = $_FILES['userfile']['tmp_name'];
  13.    if (move_uploaded_file($temp, $savefile)) {  ?>
  14.             <font color="#FFFFFF" size="1" face="verdana"><strong><font color="#CC99CC">Votre
  15.              photo a bien été enregistrée.</font></strong>
  16.             <?   } else { ?>
  17.             <font color="#CC99CC"><strong>Erreur d'enregistrement !</strong></font>            <? }
  18. } else { ?>
  19.             <strong> <font color="#CC99CC">Trop gros fichier :<br>
  20.             -
  21.             poids 50 Ko max<br>
  22.             - taille :  200
  23.             sur 200  max</font></strong><? }
  24. } ?>
  25.             </font>
  26.             <FORM METHOD="POST"
  27.       ENCTYPE="multipart/form-data">
  28.         <div align="center">
  29.      <INPUT TYPE=HIDDEN NAME=MAX_FILE_SIZE
  30.       VALUE=<? echo $MFS;?>>
  31.  <INPUT TYPE=FILE NAME="userfile">
  32.      <font color="#FFFFFF" size="1" face="verdana">*<br>
  33.      * : sélectionnez votre photo sur votre pc grâce au bouton parcourir<br>
  34.      puis cliquez sur Enregistrer la photo pour la mettre en ligne.<br>
  35.      <strong>Attention</strong> : poids max des photos : 75Ko et seuls les jpg
  36.      et gif sont acceptés</font>
  37.      <INPUT TYPE=SUBMIT value="Enregistrer la photo">
  38.         </div>
  39.         </FORM>


 
Merci à tous...

Reply

Sujets relatifs:

Leave a Replay

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