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 :

"Flux" HTML non continu


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 41
    Par défaut "Flux" HTML non continu
    Salut,

    J'ai une page qui fait un traitement qui dure environ 10 minutes, et elle doit informer l'utilisateur de l'avancée du traitement.

    mon code en gros :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    while (isset($phase[$i]))
    {
    faire le traitement pour la phase $i
    print 'ok pour la phase '.$i.', now phase '.$i+1.'<br />';
    $i++;
    }
    Malheureusement, pour une raison que j'ignore, la page n'affiche pas le réulstat des print en continu. Je dois attendre par exemple 5 minutes avant un premier "bloc" qui s'affiche avec les 50 premières phases par exempl... ensuite encore 5 minutes avant d'avoir d'un coup les 50 suivantes...

    Je suis sous IA, je ne peux pas tester sous firefox mais je ne pense pas que ça vienne de là. Si quelqu'un a une idée pour que ça rajoute une ligne à chaque phase...

    ++

  2. #2
    Membre chevronné
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Par défaut
    Tu n'as pas mis une bufferisation des fois dans ton script ?
    Un "ob_start" ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 41
    Par défaut
    non non c'est vraiment un script basique, il ressemble à ce que j'ai mis en code au dessus, rien de plus evolué :/

  4. #4
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    +1 pour la bufférisation, je pense plutôt à la bufférisation naturelle qui peut exister : http://fr2.php.net/flush

    ou alors peut-être que IE (pas IA c'est autre chose, et les deux sont incompatibles) fait lui aussi un buffer ^^ dans ce cas, impossible à contrer.. dsl
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 41
    Par défaut
    je tente ça alors ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     while (isset($phase[$i]))
    {
    faire le traitement pour la phase $i
    print 'ok pour la phase '.$i.', now phase '.$i+1.'<br />';
    flush();
    $i++;
    }

  6. #6
    Membre chevronné
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Par défaut
    ou alors peut-être que IE (pas IA c'est autre chose, et les deux sont incompatibles)
    < MDR !

  7. #7
    Membre chevronné
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Par défaut
    Oui tu peux essayer ça je pense wishmastah

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 41
    Par défaut
    ok ça marche nickel avec flush(); merci beaucoup

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

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