Upload de gros fichier (local) par HTTP

Upload de gros fichier (local) par HTTP - PHP - Programmation

Marsh Posté le 10-04-2006 à 17:28:19    

Bonjour,
 
je recherche quelles sont les valeurs à modifier sur le serv apache et php pour pouvoir permettre d'uploader de 10 à 90Mo sur un serveur en local.
Y a déjà
post_max_size = 90M
 
Mais il doit y en avoir d'autres sûrement parce que mon script ne fonctionne toujours pas.
 
HTML :

Code :
  1. <html>
  2.     <body>
  3.         <form enctype="multipart/form-data" action="essai_upload.php" method="post">
  4.             <input type="hidden" name="MAX_FILE_SIZE" value="90000000" />
  5.             Transfère le fichier <input type="file" name="monfichier" />
  6.             <input type="submit" />
  7.         </form>
  8.     </body>
  9. </html>


 
PHP :

Code :
  1. <?php
  2. echo"<html>
  3. <body>";
  4. // connexion
  5. include("./connection_base.php" );
  6.     $repertoireDestination = "../medias/photos/";
  7.     $nomDestination        = $_FILES["monfichier"]["name"];
  8.     // Pour raison de sécurité nous ajouterons aux fichiers
  9.     // portant une extension .php .php3, l'extension .txt
  10.     if (eregi(".php", $nomDestination)) {
  11.         $nomDestination .= ".txt";
  12.     }
  13.     if (is_uploaded_file($_FILES["monfichier"]["tmp_name"])) {
  14.         if (rename($_FILES["monfichier"]["tmp_name"],
  15.                    $repertoireDestination.$nomDestination)) {
  16.             echo "Le fichier temporaire ".$_FILES["monfichier"]["tmp_name"].
  17.                  " a été déplacé vers ".$repertoireDestination.$nomDestination;
  18.         } else {
  19.             echo "Le déplacement du fichier temporaire a échoué".
  20.                  " vérifiez l'existence du répertoire ".$repertoireDestination;
  21.        }
  22.     } else {
  23.        echo "Le fichier n'a pas été uploadé (trop gros ?)";
  24.     }
  25.     echo "</body>
  26. </html>";
  27. ?>


 
Une idée ?

Reply

Marsh Posté le 10-04-2006 à 17:28:19   

Reply

Marsh Posté le 10-04-2006 à 17:33:03    

c'est dans le php.ini qu'il faut modifier certains paramètres  : post_max_size, upload_max_filesize et max_input_time je pense.

Reply

Marsh Posté le 10-04-2006 à 17:37:39    

je l'ai fait mais ca ne semble pas marcher, j'ai mis
post_max_size = 90M
upload_max_filesize = 90M
max_input_time = 1000
 
ca ne suffit pas, il doit y avoir autre chose non ?

Reply

Marsh Posté le 10-04-2006 à 18:10:21    

t'as arrêté puis relancé apache et php pour prendre en compte les nouveaux paramètres? Est-ce que t'as un message d'erreur quelconque?

Reply

Marsh Posté le 10-04-2006 à 18:12:50    

exact, dans le log du serv php j'obtiens cette erreur lorsque je tente l'upload :
[10-Apr-2006 18:11:24] PHP Warning:  POST Content-Length of 33326430 bytes exceeds the limit of 8388608 bytes in Unknown on line 0

Reply

Marsh Posté le 11-04-2006 à 09:25:46    

a priori, y'a une variable d'environnement d'apache ou de php qui est positionnée à 8Mo. T'as plus qu'à trouver laquelle...

Reply

Marsh Posté le 11-04-2006 à 09:28:00    

à voir si la variable memory_limit ne devrait pas être passé à + de 8Mo (c'est ça valeur par défaut en général).

Reply

Marsh Posté le 26-05-2006 à 15:18:44    

exact, il y a les 3 variables à prendre en compte ds le php.ini:
http://php.developpez.com/faq/?pag [...] uploadsize

Reply

Sujets relatifs:

Leave a Replay

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