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 :

[PHP-JS] problème avec le flush


Sujet :

Langage PHP

  1. #1
    bat
    bat est déconnecté
    Membre à l'essai
    Inscrit en
    Mai 2002
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 29
    Points : 19
    Points
    19
    Par défaut [PHP-JS] problème avec le flush
    Salut à tous,
    j'ai un petit problème avec la fonction flush() de php : dans le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <html>
    <body>
    <div align=left class="encours" id="renvois_encours"></div>
    <?php 
      @ob_end_clean();
      for ($i=10; $i>0; $i--) {
        echo str_pad('',4096);  // minimum start for Safari
         echo '<script language="javascript">document.getElementById("renvois_encours").innerHTML += "Phase de récupération : '.$i.'<br/>"</script>';
         flush();  // worked without ob_flush() for me
         sleep(1);
      }
    ?>
    </body>
    </html>
    L'affichage des données avant la fin de création de la page fonctionne bien.
    Par contre, si je rajoute un include d'un fichier js dans un <head> (et même si ce fichier ne contient que des déclarations de fonctions), le flush n'est plus effectué...
    Est ce que quelqu'un voit d'où peut venir mon problème (configuration de mon php.ini ou apache, ...) ?

    Merci d'avance.

  2. #2
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    peut etre les ". Il faudrait peut etre les ecrire \" dans la ligne ou tu declare ton javascript.
    "Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN

  3. #3
    bat
    bat est déconnecté
    Membre à l'essai
    Inscrit en
    Mai 2002
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 29
    Points : 19
    Points
    19
    Par défaut
    Une petite précision : mes fichiers js sont aussi parsés par le moteur php. Dans apache :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ScriptAlias /php/ "C:/Program Files/Apache Group/php433/"
    AddType application/x-httpd-php .php .php4 .php3 .js
    Action application/x-httpd-php "/php/php.exe"
    En fait le problème semble venir de là. Est ce que quelqu'un pourrait m'expliquer (briévement) pourquoi ?

    Merci beaucoup d'avance

  4. #4
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    t'est sur que t'as pas plusieurs ob_start() au final dans le code qui precede ?

    parce que je vois que tu fait un ob_end_clean(), donc je pense que tu en utilise... mais si tu as un autre ob_start(), il empile les buffer, donc tu est toujours dans le 1er buffer. Il faudrait donc faire un autre ob_end_clean.

    Ou comme le conseille la doc, faire un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while (@ob_end_clean()) ;
    http://fr2.php.net/Fr/ob_end_clean

  5. #5
    bat
    bat est déconnecté
    Membre à l'essai
    Inscrit en
    Mai 2002
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 29
    Points : 19
    Points
    19
    Par défaut
    non non je n'ai pas ob_start avant.
    J'ai mis le ob_end_clean() pour être sur de ne pas avoir de buffer, mais c'est vrai que dans mon petit bout de code, c'est peut être un peu stupide LOL.

Discussions similaires

  1. [PHP-JS] Problème avec concaténation
    Par djedje37et28 dans le forum Langage
    Réponses: 30
    Dernier message: 21/07/2006, 16h59
  2. [PHP-JS] Problème avec un script php d'un formulaire
    Par Dark DJ dans le forum Langage
    Réponses: 3
    Dernier message: 11/06/2006, 19h36
  3. [PHP-JS] Problème avec hidden ?
    Par samjung dans le forum Langage
    Réponses: 6
    Dernier message: 06/06/2006, 17h07
  4. [PHP-JS] Problème avec les $_GET J'en peux plus la
    Par schtek2 dans le forum Langage
    Réponses: 8
    Dernier message: 21/05/2006, 20h56
  5. [PHP-JS] Problème avec un menu déroulant
    Par grumly22 dans le forum Langage
    Réponses: 3
    Dernier message: 09/05/2006, 11h07

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