Erreur d'upload en PHP

Résolu/Fermé
Hellreaper Messages postés 34 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 15 octobre 2009 - Modifié par Hellreaper le 1/08/2010 à 16:41
Hellreaper Messages postés 34 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 15 octobre 2009 - 15 oct. 2009 à 18:07
Bonjour,

je ne comprend pas pourquoi je n'arrive pas a uploader des fichier .rar ou .zip

<br /><br /><form enctype='multipart/form-data' action='save_file.php' method='post'> 
   <p> 
   <label >Nom : </label> <input type='text' name='form_name' /><br /> 
   <label >Prénom :</label><input type='text' name='form_prenom'  /><br />    
   <label >fichier compresser : </label><input type='file' name='form_photo'  /><br /> 
    
   <br /> 
   <input type='submit' name='validation' id='validation' value=\"Créer le new User\" /> 
  </form>"; 


  if(isset($_POST['validation'])) { 
     
    //Indique si le fichier a été téléchargé 
    if(!is_uploaded_file($_FILES['form_photo']['tmp_name'])) 
    echo 'Un problème est survenu durant l opération. Veuillez réessayer !'; 
    else { 
    //liste des extensions possibles     
    $extensions = array( '/x-zip-compressed' , '/octet-stream'); 
      
    //récupère la chaîne à partir du dernier / pour connaître l'extension 
    $extension = strrchr($_FILES['form_photo']['type'], '/'); 
      
    //vérifie si l'extension est dans notre tableau             
    if(!in_array($extension, $extensions)) 
     echo 'Vous devez uploader un fichier de type .rar!! png, gif, jpg, jpeg.<br> '.$extension.' test S : '.$extensions; 
      
    else {          
      //on définit la taille maximale 
     define('MAXSIZE', 10485760 );         
     if($_FILES['form_photo']['size'] > MAXSIZE) 
        echo 'Votre image/Zip/rar est supérieure à la taille maximale de '.MAXSIZE.' octets ne peut pas depasser 10 mega soit 10 485 760 octets'; 
     else { 
       
      //récupération des infos saisies 
      $nom = mysql_escape_string($_POST['form_name']); 
      $prenom = mysql_escape_string($_POST['form_prenom']); 


      //Lecture du fichier. On doit utiliser la fonction mysql_escape_string car les données binaires contiennent des caractères spéciaux. 
      $form_photo = mysql_escape_string(file_get_contents($_FILES['form_photo']['tmp_name'])); 
  
 move_uploaded_file($_FILES['form_photo']['tmp_name'],"../../../../../XXXXXXX/CACES/".$nom."-".$prenom.".rar");  
       
      mysql_close(); 
       
      $_POST['validation'] = null; 
       
      header("Location:index.php?good_post"); 
     } 
    } 
     } 
    }

11 réponses

Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
15 oct. 2009 à 17:09
n'y aurait - il pas uen confusion entre extensions et type mime ???

ton code est fait pour renvoyer des messages d'erreur, si tu nous disait quel message tu obtient ?
1
Hellreaper Messages postés 34 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 15 octobre 2009
15 oct. 2009 à 17:18
mon message d'erreur est : Un problème est survenu durant l opération. Veuillez réessayer
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
15 oct. 2009 à 17:21
il fait quelle taille ton fichier ?
moi je sais pas pourquoi, mais je sens uen limite de tailel de fichier, ou une limite de taille de formulaire dans les reglages d'apache ou php .... (httpd.conf et php.ini)
0
Hellreaper Messages postés 34 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 15 octobre 2009
15 oct. 2009 à 17:28
mon fichier fait 7mb
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
15 oct. 2009 à 17:29
ben essayes deja avec un fichier qui fait moins de 2 Mo, et quand tu reviendra (en me disant que ca marche), je te dirais ou chercher pour faire tes modifs
0
Hellreaper Messages postés 34 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 15 octobre 2009
15 oct. 2009 à 17:32
ba oui ta trouver mon erreur j'ai tester un fichier de 1,5 mb est ça passe. Mon serveur est sous linux et je suis sous apache
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
15 oct. 2009 à 17:36
ben message 3 ... dans php.ini je crois, il y a uen valeur maxfilesize, ou un truc du genre qui est à 2 Mo par défaut => faut la monter
il y a aussi une valeur maximum pour la taille complète du formulaire, qui est par défaut à 8 Mo => faut la monter aussi !
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
15 oct. 2009 à 17:40
http://www.php.documentation.givah.net/?p=ini.html

post_max_size "8M" PHP_INI_PERDIR PHP_INI_SYSTEM en PHP <= 4.2.3. Disponible depuis PHP 4.0.3.
upload_max_filesize "2M" PHP_INI_PERDIR PHP_INI_ALL en PHP <= 4.2.3.
0
Hellreaper Messages postés 34 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 15 octobre 2009
15 oct. 2009 à 17:47
j'ai modifier dans php.ini avec sa :

; Maximum size of POST data that PHP will accept.
post_max_size = 48M

; Maximum allowed size for uploaded files.
upload_max_filesize = 42M

mais je ne peut toujours pas uploader un ficher de 7mb, j'ai toujours la même erreur...
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
15 oct. 2009 à 17:48
peut être qu'il faut redémarrer ton serveur... histoire de charger les nouveaux paramètres
0
Hellreaper Messages postés 34 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 15 octobre 2009
15 oct. 2009 à 18:07
Merci pour l'info il fallait redémarrer, merci beaucoup
0