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] upload Warning: POST


Sujet :

Langage PHP

  1. #1
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut [Upload] upload Warning: POST
    Salut à tous,
    Problème recurrent je sais, mais lorsque que je fais un upload en php, j'obtient ce message :
    Warning: POST Content-Length of 25727361 bytes exceeds the limit of 8388608 bytes in Unknown on line 0

    Warning: Unknown(): Cannot send session cache limiter - headers already sent in Unknown on line 0
    Je voudrais savoir si c'est possible de capturer ce message afin de mettre un message plus clair aux utilisateurs comme quoi leur fichier excede de taille max.

    Je ne peux pas modifier le php.ini, et ne peut pas le faire en perl car je suis sur un serveur que je ne gere pas du tout.

    j'ai beau mettre
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="MAX_FILE_SIZE" value="500000" />
    mais ça ne donne rien.
    et de toute façon, le script php plante avant même qu'il ne commence à lire la premiere ligne de mon upload.php donc $_FILES['userfile']['error'] est inutilisable.

    Merci, j'attends votre aide

  2. #2
    Membre éprouvé Avatar de csbilouze
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 79
    Par défaut
    salut,
    tu obtiens cette erreur a chaque fois ou que quand le fichier est trop voloumineux?

    peux tu copier/coller ton formulaire complet stp

    merci ++

  3. #3
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    volumineux biensur.
    C'est dû au fait que je depasse les 8 Mo autorisé. Donc c'est normal. Mais je voulais savoir comment faire pour afficher un message propre aux users s'ils depassent la taille de 8 Mo.

  4. #4
    Membre éprouvé Avatar de csbilouze
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 79
    Par défaut
    et peux tu utiliser quelquechoses du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    $TailleFichier=$_FILES['userfile']['size'];
     
    if($TailleFichier<8388608){
     
      // on continue le script
     
      }
      else{
     
        echo "Votre fichier est trop volumineux";
     
        }

  5. #5
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    ça ne marche pas :
    et de toute façon, le script php plante avant même qu'il ne commence à lire la premiere ligne de mon upload.php donc $_FILES['userfile']['error'] est inutilisable.
    Je pense que lorsque le script php d'upload est appele, il commence d'abord par telecharger dans le repertoire temporaire designé par apache avant même de lire le script php. et des que la taille est trop grande, ça plante.
    Du coup, il ne connait plus mes variable envoyé par post ou get

  6. #6
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    j'avais essayer ton exemple avec la taille, etc, mais j'ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Notice: Undefined index: fichier in c:\program files\easyphp1-8\www\proteome\upload.php on line 9
    sur mon easyphp
    et sur le serveur ou je dois le mettre, j'ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Warning: POST Content-Length of 25727260 bytes exceeds the limit of 8388608 bytes in Unknown on line 0
     
    Warning: Unknown(): Cannot send session cache limiter - headers already sent in Unknown on line 0
    en essayant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $TailleFichier=$_FILES['fichier ']['size'];
     
    if($TailleFichier<8388608){
     
      // on continue le script
     
      }
      else{
     
        echo "Votre fichier est trop volumineux";
     
        }
    Donc le fait que ça plante avant fait qui transfere plus rien

  7. #7
    Membre éprouvé Avatar de csbilouze
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 79
    Par défaut
    alors ,

    apres quelques recherches je suis peut etre sur quelquechose

    il existe la fonction register_shutdown_function(chaine fonction), c'est un script qui est executé en dernier recours lors d erreur de timout ou annulation utilisateur par exemeple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function ErreurUpload(){
     
      echo"Votre fichier est trop volumineux.";
     
      }
     
    register_shutdown_function("ErreurUpload");
    edit: désolé poue l erreur d ecriture c'est pas ca $TailleFichier=$_FILES['fichier ']['size']; mais ca $TailleFichier=$_FILES['userfile']['size'];

  8. #8
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    $TailleFichier=$_FILES['userfile']['size']; => c toi qui met ce que tu veux à la place de userfile car il correspond à ton name dans ton code html au niveau du input de type file

  9. #9
    Membre éprouvé Avatar de csbilouze
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 79
    Par défaut
    je sais lol c'est le repport en haut qui m a induit en erreur lol

    Notice: Undefined index: fichier in c:\program files\easyphp1-8\www\proteome\upload.php on line 9
    qu est ce que ca donne pour register_shutdown_function()?

  10. #10
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    j'ai bien le message, mais mon souci, c que les warning s'affiche toujours, et c tres moche.

  11. #11
    Membre éprouvé Avatar de csbilouze
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 79
    Par défaut
    tu peux essayer d y mettre la fonction error_reporting(entier niveau)

    pour ta page upload.php tu mets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    error_reporting(error_reporting(0)|1);
     
    //php par default est sur 1 OR 2 OR 4 ce qui renvoie errors, Warning et 
    //parser error
    essai avec ca mais error_reporting devra etre mieux configurer je pense

  12. #12
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Par défaut
    Salut,

    Citation Envoyé par djibril
    j'ai bien le message, mais mon souci, c que les warning s'affiche toujours, et c tres moche.
    Pas sûr que ca marche mais à la place d'afficher le message tu pourrais faire une redirection vers une autre page

  13. #13
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    j'ai essayé ça : error_reporting(0);
    ça desactive tout rapport d'erreur, ça marche bien sur mon easyphp mais pas sur le serveur en question, y a toujours les warning.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Warning: POST Content-Length of 25707186 bytes exceeds the limit of 8388608 bytes in Unknown on line 0
     
    Warning: Unknown(): Cannot send session cache limiter - headers already sent in Unknown on line 0
    Hic sur easyphp
    normalement, je fais une redirection à la fin de mon script en cas d'erreur (mais j'avais certain parametre qui sont pas envoyé ).
    Bon sinon j'ai contourné le probleme avec un lien vers la page precedente en javascript et c ok.
    mais ça arrange rien sur le serveur, toujours des warning

  14. #14
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Citation Envoyé par billoum
    Salut,



    Pas sûr que ca marche mais à la place d'afficher le message tu pourrais faire une redirection vers une autre page
    c'est ce que je faisait et tu as ceci :

    Warning: POST Content-Length of 25727271 bytes exceeds the limit of 8388608 bytes in Unknown on line 0

    Warning: Unknown(): Cannot send session cache limiter - headers already sent in Unknown on line 0

    Warning: Cannot modify header information - headers already sent in xxxxxxxxx/upload.php on line 58
    Normal vu qu'il plante des la ligne 0

  15. #15
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Par défaut
    En fait, j'avais compris que la fonction était appelé avant que ca plante, donc je me disais qu'il y avait ptêt moyen de changer de page juste avant l'affichage de l'erreur..
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    function ErreurUpload(){
     
      header();
     die();
     
      }
     
    register_shutdown_function("ErreurUpload");

  16. #16
    Membre éprouvé Avatar de csbilouze
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 79
    Par défaut
    au fait, quel est ton hebergeur?

  17. #17
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Citation Envoyé par csbilouze
    au fait, quel est ton hebergeur?
    c'est l'université, donc le CRI

  18. #18
    Membre éprouvé Avatar de csbilouze
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 79
    Par défaut
    lol, et le cri ne t autorise pas a modifier le php.ini directement a la racine du serveur?
    je t avoue que je cale un peu mais je vais y jeter un oeil comme il faut ce soir

  19. #19
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    J'ai fais appelle au cri et il m'ont augmenté la taille de 8 à 30Mo, ça me suffira pour le moment.

    Voilà

  20. #20
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Par défaut
    Bonjour,

    Y-t-il pas une autre solution sans augmenter le paramètre dans le fichier .ini?

    Merci.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Urlmon] Upload ou methode post ?
    Par Oregon09 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 17/01/2010, 10h51
  2. [Upload] Upload de fichier avec HTTP POST
    Par Invité(e) dans le forum Langage
    Réponses: 8
    Dernier message: 22/05/2008, 11h04
  3. [Upload] Upload : erreur et envoi multiple
    Par linou dans le forum Langage
    Réponses: 4
    Dernier message: 07/09/2005, 09h41
  4. [Upload] upload multiple
    Par mat10000 dans le forum Langage
    Réponses: 3
    Dernier message: 16/06/2005, 17h07
  5. [upload] Upload d'un dossier
    Par Touxe dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 20/02/2005, 16h30

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