IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Upload] Problème suite à un upload de fichier


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de rieppe
    Profil pro
    Étudiant
    Inscrit en
    octobre 2004
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : octobre 2004
    Messages : 115
    Points : 129
    Points
    129
    Par défaut [Upload] Problème suite à un upload de fichier
    Bonjour à tous,

    J'ai donc un formulaire qui contient un champ type file.

    Lors de l'accès a ma page de validation php, si le fichier est trop volumineux, je me retrouve avec mes variables $_POST et $_FILES complètement vides

    Pensez vous qu'il y ait une solution pour résoudre ce problème ?

    Pour info, je développe sous PHP5 installé via wamp (http://www.wampserver.com).

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2004
    Messages : 11 672
    Points : 20 440
    Points
    20 440
    Par défaut
    Il y a une limite pour l'upload par HTTP, et il me semble que c'est de l'ordre de 2Mo

  3. #3
    Membre habitué Avatar de rieppe
    Profil pro
    Étudiant
    Inscrit en
    octobre 2004
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : octobre 2004
    Messages : 115
    Points : 129
    Points
    129
    Par défaut
    Merci de t'interesser au problème.

    Je viens d'essayer avec un fichier d'un peu plus de 3Mo, et tout se passe bien.

    J'ai pensé à un dépassement de post_max_size ou upload_max_filesize. Par contre je ne peux pas tester la taille de mon fichier puisque ma variable $_FILES est vide dès que mon fichier est trop gros.

  4. #4
    Membre habitué Avatar de kodokan
    Profil pro
    Lycéen
    Inscrit en
    avril 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : avril 2006
    Messages : 127
    Points : 170
    Points
    170
    Par défaut
    Salut

    Il me semble que la valeur maximum de l'upload est spécifiée dans le php.ini
    Alors peut-etre s'avec un ini_set()...

    Sinon je ne sais comment faire pour tester la taille de ton fichier si $_FILES se vide... Peut-etre qu'avec javascript on peut faire ça mais je n'en sais rien

    N'oubliez pas de voir les
    quand la réponse vous convient, un pt'it serait le bienvenu
    Mon site de blogs
    Kodokan arena [ en construction ]

  5. #5
    Membre habitué Avatar de rieppe
    Profil pro
    Étudiant
    Inscrit en
    octobre 2004
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : octobre 2004
    Messages : 115
    Points : 129
    Points
    129
    Par défaut
    Bon je vais juste afficher la taille maximum en esperant que les utilisateurs ne fassent pas n'importe quoi.

    Je continue mes recherches au cas ou ^_^

  6. #6
    Membre habitué Avatar de kodokan
    Profil pro
    Lycéen
    Inscrit en
    avril 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : avril 2006
    Messages : 127
    Points : 170
    Points
    170
    Par défaut
    Je vais relancer le topic mais peut-etre que ce qui suit ne marchera pas :

    Sachant que move_uploaded_file() retourne true en cas de succés :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $destination = '/'.$_FILES['fichier']['name'];
    $temp_file = $_FILES['fichier']['tmp_name'];
     
          if(!move_uploaded_file($temp_file,$destination)
               {
                // affiche un message d'erreur
               }
          else {
                //traitement

    N'oubliez pas de voir les
    quand la réponse vous convient, un pt'it serait le bienvenu
    Mon site de blogs
    Kodokan arena [ en construction ]

  7. #7
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    Citation Envoyé par rieppe
    Lors de l'accès a ma page de validation php, si le fichier est trop volumineux, je me retrouve avec mes variables $_POST et $_FILES complètement vides
    Je sais que le post date de longtemps mais bon, est-ce que t'as trouvé la solution car j'ai la meme chose
    j'avais modifier le php.ini
    ; Maximum size of POST data that PHP will accept.
    post_max_size = 21M // au lieu de 8M
    ; Maximum allowed size for uploaded files.
    upload_max_filesize = 20M // au lien de 2M
    memory_limit = 22M //8M Doit etre plus gros que post_max_size

    Proposé par
    http://php.developpez.com/faq/?page=...ers_uploadsize
    Tout semblait fonctionné j'avais testé avec de gros fichier
    mais ce matin ya eu un erreur en essayant de transférer un fichier de 32 Mo...
    Donc après quelque test je me suis rendu compte que ca entrait dans ce else

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    if(isset($_FILES['fichier']) && $_FILES['fichier']['size'] <= 20971520){
    ...
    }
    else if(isset($_FILES['fichier']) && $_FILES['fichier']['size'] > 20971520){
    	$msgProgress = '** Le document que vous voulez transférer est trop volumineux (20Mo+), contactez votre administrateur réseau **';
    }
     
    //J'ai ajouté ceci et ca rentrait là
    else if(!isset($_FILES['fichier'])){
    	$msgProgress = '** Il y a eu problème avec le document (UNSET FILES). Réessayez ou contactez votre administrateur réseau **';
    }
    On peut valider la grosseur du fichier autrement pour éviter cela??
    La perfection n'est pas un but, l'amélioration constante devrait l'être!
    La position des Développeurs de developpez avec les explications

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Upload] Problèmes page d'upload
    Par oxbow_337 dans le forum Langage
    Réponses: 3
    Dernier message: 02/07/2007, 13h24
  2. Réponses: 5
    Dernier message: 03/04/2007, 16h11
  3. [Upload] Problème avec l'upload : Pas de fichier tmp !
    Par commedab dans le forum Langage
    Réponses: 4
    Dernier message: 20/03/2007, 13h38
  4. [Upload] problème de permission d'un fichier uploadé
    Par ned-flanders dans le forum Langage
    Réponses: 1
    Dernier message: 07/03/2007, 19h30
  5. [Upload] Problème de lien entre mes fichiers
    Par temperature dans le forum Langage
    Réponses: 18
    Dernier message: 25/04/2006, 12h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo