Upload de fichier avec php sur apache2
Hors ligneSteev94 Le 25/09/2006 à 00:55 Profil de Steev94 Configuration de Steev94

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
Hors ligneAnthony Le 25/09/2006 à 20:56 Profil de Anthony Configuration de Anthony

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 ?
--

Hors ligneSteev94 Le 25/09/2006 à 21:43 Profil de Steev94 Configuration de Steev94

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 ?)"
Hors ligneAnthony Le 25/09/2006 à 22:36 Profil de Anthony Configuration de Anthony

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 :)
--

Hors ligneSteev94 Le 25/09/2006 à 23:23 Profil de Steev94 Configuration de Steev94

nan il n'y a aucun message d'erreur qui s'affiche, juste :"le fichier n'a pas été transféré"
Hors ligneAnthony Le 25/09/2006 à 23:43 Profil de Anthony Configuration de Anthony

Admin
Ok fais un echo de $_FILES['fichier_source']['error'] histoire de voir ce que ça affiche :)
--

Hors ligneSteev94 Le 26/09/2006 à 01:33 Profil de Steev94 Configuration de Steev94

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
Hors ligneAnthony Le 27/09/2006 à 14:08 Profil de Anthony Configuration de Anthony

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 ?
--

Hors ligneSteev94 Le 27/09/2006 à 15:56 Profil de Steev94 Configuration de Steev94

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 ?
Hors ligneAnthony Le 27/09/2006 à 16:19 Profil de Anthony Configuration de Anthony

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 :(
--

Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels