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 :

la directive post_max_size


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 2
    Par défaut la directive post_max_size
    Bonjour,
    j'essaye de mettre en place un script d'upload de fichier, et voilà le problème que je rencontre :
    Chaque fois que je tente d'uploader un fichier d'une taille supériere à la valeur de post_maxsize (fichier php.ini), mon tableau $_FILE est vide. de plus, je ne récupère aucun message d'erreur (meme avec error_reporting(E_All).
    Comment faire pour tester ce cas (fichier uploadé de taille supérieure à post_max_size).?

    Merci d'avance.

  2. #2
    Membre éprouvé Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Par défaut
    salut,
    apparemment c'est le comportement normal. je te laisse jeter un coup d'oeil sur ce lien : http://no2.php.net/manual/fr/ini.cor....post-max-size

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 2
    Par défaut la directive post_max_size
    Salut Julien, Salut les autres,
    Merci pour l'info qui confirme malheureusement ce que je craignais.
    J'ai donc visité le lien que tu m'as indiqué. La Je ne comprends franchement
    pas la solution proposée :
    <form action="edit.php?processed=1'>
    Pour uploader un fichier, il faut utiliser la méthode POST. Or ajouter une variable (processed=1) comme si on utilisait la méthode GET ne sert à rien
    (il me semble...).
    Je viens de le vérifier par sécurité (mais je ne comprends peut-être pas tout...)
    Pour moi, le mystère reste donc entier :
    Lorsque la taille du fichier uploadé est supérieure à POST_MAX_Size,
    comment puis-je faire pour déterminer si l'utilisateur a effectivement uploadé un fichier trop gros, ou si il n'a simplement pas uploadé de fichier ?
    Je te fais part maintenant d'une petite réflexion :
    Si mon $_FILES est vide, c'est peut-être parce que le fichier trop gros est
    tout simplement refusé avant même d'être uploadé.
    Si c'est le cas, peut-être que le navigateur informe le serveur à l'avance de la taille du fichier qu'il veut lui envoyer...
    Mes recherches m'ont conduit à regarder ce que retourne des fonctions comme getallheaders() et apache_response_headers().
    Chez moi (en local avec easyphp), apache_response_headers() ne retourne que la"signature" de php...
    Par contre, getallheaders() retourne un tableau associatif dont l'une des
    entrées est :
    content-length => 16464... (nombre fictif) et qui semble correspondre à la taille totale du formulaire que le navigateur tente d'envoyer. Il ne reste plus donc qu'à comparer cette valeur avec POST_MAX_SIZE et le tour est joué...
    Ou presque, car il reste un problème à résoudre :
    Que se passe t-il si mon formulaire contient plusieurs fichiers à uploader
    simultanément ?
    Il est dans ce cas impossible de déterminer quel fichier dépasse la limite
    fixée par POST_MAX_SIZE...
    Je n'ai pas encore testé, mais je ne pense pas obtenir plus d'informations
    avec getallheaders()...

    Je vais voir ce que je peux trouver sur ce thème communication client/serveur, protocole HTTP, Mime...).
    Si tu penses comme moi et si tu connais le sujet (moi très peu...), ton
    aide et naturellement celle des autres est toujours la bienvenue.
    Alain.

  4. #4
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573

Discussions similaires

  1. Sdk Direct X 8.1
    Par ShinMei dans le forum DirectX
    Réponses: 1
    Dernier message: 23/02/2003, 17h39
  2. Accès direct au disque dur
    Par Berdo dans le forum x86 16-bits
    Réponses: 4
    Dernier message: 12/01/2003, 16h21
  3. Direct Graphics
    Par Blustuff dans le forum DirectX
    Réponses: 9
    Dernier message: 28/10/2002, 04h19
  4. Hors série PCTEAM sur Direct 3D
    Par Shakram dans le forum DirectX
    Réponses: 1
    Dernier message: 12/10/2002, 16h34
  5. La communauté Direct X est au repos?
    Par Shakram dans le forum DirectX
    Réponses: 21
    Dernier message: 18/07/2002, 23h32

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