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] Méthode flush() qui ne fait rien


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de Khrysby
    Homme Profil pro
    Chef de projet
    Inscrit en
    Avril 2005
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Avril 2005
    Messages : 239
    Points : 144
    Points
    144
    Par défaut [PHP-JS] Méthode flush() qui ne fait rien
    Bonjour, j'utilise la méthode flush() ne vide pas le buffer et donc, il n'y a rien qui s'affiche à l'ecran progressivement comment je le voudrai...

    Quelqu'un sait-il pourquoi ?

    Merci d'avance.
    Mickaël

  2. #2
    Membre confirmé Avatar de stunti
    Inscrit en
    Mai 2006
    Messages
    520
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mai 2006
    Messages : 520
    Points : 594
    Points
    594
    Par défaut
    tu visualises a travers un navigateur ou en ligne de commande ?
    If it's not broken, don't fix it.
    BiliBa Built on top of Zend Framework

  3. #3
    Membre habitué Avatar de Khrysby
    Homme Profil pro
    Chef de projet
    Inscrit en
    Avril 2005
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Avril 2005
    Messages : 239
    Points : 144
    Points
    144
    Par défaut
    A travers un navigateur...
    Mickaël

  4. #4
    Membre confirmé Avatar de stunti
    Inscrit en
    Mai 2006
    Messages
    520
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mai 2006
    Messages : 520
    Points : 594
    Points
    594
    Par défaut
    Alors cela depends du navigateur.
    Certains navigateurs attende d'avoir recu entierement le message avant d'afficher quoi que ce soit.
    If it's not broken, don't fix it.
    BiliBa Built on top of Zend Framework

  5. #5
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for($i = 0; $i<15; $i++) {
    echo '.'; flush();
    sleep(1);
    }
    cela devrait afficher 1 point toutes les secondes pendant 15 secondes.

    Si ca ne marche pas, c'est que en effet ton navigateur attend d'avoir recu assez de données. Je sais par exemple que certains navigateurs attendent d'avoir recu 1024 ou 4096 octets de données pour afficher quelque chose... donc tu peux essayer d'ajouter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo str_pad('',4096).'\n';
    dans la boucle.

    A noter egalement que ca depend pour certains navigateurs de l'endroit ou tu est... si tu est dans un tableau ca risque de ne pas fonctionner car certains n'affichent le contenu que lorsqu'ils rencontrent la balise </table>

  6. #6
    Membre habitué Avatar de Khrysby
    Homme Profil pro
    Chef de projet
    Inscrit en
    Avril 2005
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Avril 2005
    Messages : 239
    Points : 144
    Points
    144
    Par défaut
    Le problème c'est que j'ai déjà le script php sur un autre serveur et ça marche... Donc je pense que cela vient de la configuration du serveur mais je ne sais pas exactement où...
    Mickaël

  7. #7
    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
    Ok, en effet certains serveurs ont des mises en cache (buffer) a l'affichage egalement.


    Citation Envoyé par http://fr2.php.net/fr/flush
    De nombreux serveurs, essentiellement sous Windows, continueront à bufferiser l'affichage de votre script jusqu'à ce qu'il soit terminé, avant de transmettre les résultats à l'internaute.
    Des modules Apache comme mod_gzip utilisent leur propre bufferisation, ce qui fait que flush() n'enverra pas les données jusqu'au navigateur client immédiatement.
    tu peux encore essayer cela (sans garantie) a la place du flush() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while (ob_get_level()) {
        ob_end_flush();
    }

  8. #8
    Membre habitué Avatar de Khrysby
    Homme Profil pro
    Chef de projet
    Inscrit en
    Avril 2005
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Avril 2005
    Messages : 239
    Points : 144
    Points
    144
    Par défaut
    Ok, j'essai ce soir et je tiens au courant...

    Merci
    Mickaël

  9. #9
    Membre habitué Avatar de Khrysby
    Homme Profil pro
    Chef de projet
    Inscrit en
    Avril 2005
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Avril 2005
    Messages : 239
    Points : 144
    Points
    144
    Par défaut
    Ca ne marche pas...
    Mickaël

  10. #10
    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
    si ca marche pas, j'ai pas de solution... peut etre du au moteur php ou apache...

Discussions similaires

  1. Méthode qui ne fait rien
    Par neon29200 dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 12/04/2012, 08h45
  2. TRIGGER qui ne fait rien ?
    Par innova dans le forum Développement
    Réponses: 3
    Dernier message: 20/11/2006, 14h39
  3. Réponses: 10
    Dernier message: 16/11/2006, 21h36
  4. [debutant]programme qui ne fait rien.
    Par Battosaiii dans le forum Interfaces Graphiques en Java
    Réponses: 10
    Dernier message: 04/12/2005, 22h19
  5. procédure stockée qui ne fait rien
    Par trotters213 dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 10/03/2005, 20h25

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