Steev94 |
Le 25/09/2006 à 00:55 |
|
|
Bonjours à tous,
je voulais vous demandez si vous savez comment je pourrais upload des fichiers assez volumineux par php. En faite j'ai créer un site local (réservé uniquement a mon réseau local) avec easyphp1-8 et j'aimerais que les fichiers à upload puisse etre volumineux, étant donner que j'ai assez d'espace disque!
Donc en faite j'ai modifier le php.ini en mettant upload_max_filesize = 50M pour 50 mégaocte et post_max_size = 50M mais cela n'empeche pas qu'un message d'erreur apparaisse quand j'essaye d'upload un fichier suppérieur à 2 Mo.
Si quelqu'un peu m'aider sa serai sympas, merci d'avance.
voici le code de upload.php
<?php
$repertoireDestination = "Upload/";
$nomDestination = $_FILES["fichier_source"]["name"];
// Pour raison de sécurité nous ajouterons aux fichiers
// portant une extension .php .php3, l'extension .txt
if (eregi(".php", $nomDestination)) {
$nomDestination .= ".txt";
}
if (is_uploaded_file($_FILES["fichier_source"]["tmp_name"])) {
if (rename($_FILES["fichier_source"]["tmp_name"],
$repertoireDestination.$nomDestination)) {
echo "Le fichier temporaire ".$_FILES["fichier_source"]["tmp_name"].
" a été déplacé vers ".$repertoireDestination.$nomDestination;
} else {
echo "Le déplacement du fichier temporaire a échoué".
" vérifiez l'existence du répertoire ".$repertoireDestination;
}
} else {
echo "Le fichier n'a pas été Trasféré";
}
?>
et le code qui permet de parcourir le fichier a envoyer :
<form enctype="multipart/form-data" action="upload.php" method="post"> <p><input type="file" name="fichier_source" size="35" /></p> <p><input type="submit" value="Envoyer" /></p> </form>
Merci de votre aide |
Anthony |
Le 25/09/2006 à 20:56 |
|
 Admin |
Salut,
Quel est le message d'erreur qui apparaît lorsque tu tentes d'uploader un fichier de plus de 2 Mo ?
Car apparemment tu as bien modifié ce qu'il fallait pour que ça fonctionne, t'as vérifié dans le fichier httpd.conf d'apache si y'a pas un max post size ou encore max upload size ? -- 
|
Steev94 |
Le 25/09/2006 à 21:43 |
|
|
salut antho, merci de me répondre...
en faite dans le httpd.conf d'apache il n'y a ni l'un ni l'autre, j'ai essayer de les ajouter manuelement mais sa ne fonctionne pas. j'ai également essayer de mettre manuelement le EnableSendFile = On mais cela ne fctionne pas!
si tu souhaite avoir dotre renseignement n'ésite pas!
dans le site j'ai vu ton code sur l'upload de fichier, tu croi k'avec ton processus on pourrais arriver a a géré la taille de l'upload ? mais biensur il fodra enlever la partie image de l'exemple et le nom que tu attribu directement au fichier upload! car dans mon code source a aucun endroi on parle de la taille du fichier!
sinon quand j'upload un fichier > a 2M il me fait :" le fichier n'a pas éter transférer (trop gros ?)" |
Anthony |
Le 25/09/2006 à 22:36 |
|
 Admin |
Mets ça en haut de ton code PHP :
<?php
error_reporting(E_ALL);
?>
et regarde si t'as une erreur PHP qui s'affiche quand t'uploades ton fichier :) -- 
|
Steev94 |
Le 25/09/2006 à 23:23 |
|
|
nan il n'y a aucun message d'erreur qui s'affiche, juste :"le fichier n'a pas été transféré" |
Anthony |
Le 25/09/2006 à 23:43 |
|
 Admin |
Ok fais un echo de $_FILES['fichier_source']['error'] histoire de voir ce que ça affiche :) -- 
|
Steev94 |
Le 26/09/2006 à 01:33 |
|
|
qd je fais :" <?php echo $_FILES['fichier_source']['error']; ?> " en haut de la page php et que j'essay d'upload un fichier suppérieur à 2M il me fais sa:"1" ou "1 1"; j'imagine que ya un gros problème quelque part! nan ??
Sinon meme en modifiant max_execution_time, max_input_time et memory_limit. cela ne fonctionne pas non plus! je suis un pe a cour d'idée. et après avoir fait quelque test, le "1" ou "1 1" indique une erreur, car quand le fichier est upload il y a :"0 le fichier a été transféré" donc en gros je pense que 1=erreur et 0 indique OK;
Merci encore |
Anthony |
Le 27/09/2006 à 14:08 |
|
 Admin |
En fait l'erreur 1 indique que la taille de l'upload maximale a été dépassée. T'as bien mis un "post_max_size" approprié dans le php.ini également ? t'as redémarré apache ensuite après avoir modifié le fichier de conf ? -- 
|
Steev94 |
Le 27/09/2006 à 15:56 |
|
|
re salut,
ouai dans php.ini il y a bien post_max-size = 50M et g bien redemarrer le server après avoir tout enregistrer
si tu ve je pe t'envoyer le php.ini en privé !
en faite le php.ini donne sa:
;;;;;;;;;;;;;;;; ; File Uploads ; ;;;;;;;;;;;;;;;;
Whether to allow HTTP file uploads. file_uploads = On
Temporary directory for HTTP uploaded files (will use system default if not specified). upload_tmp_dir =
Maximum allowed size for uploaded files. upload_max_filesize = 50M
Maximum size of POST data that PHP will accept. post_max_size = 50M
Tu pense que le problème vient d'ou ? |
Anthony |
Le 27/09/2006 à 16:19 |
|
 Admin |
Je crois qu'avec apache avant on pouvait spécifier la taille maximale des headers post, faudrait voir si ça vient pas de là mais je n'ai rien trouvé de concluant :( -- 
|