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] Équivalent thread en PHP


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut [PHP-JS] Équivalent thread en PHP
    Bonjour,

    voila j'ai un script qui génère des miniatures mais ca prends du temps. Comment je pourrais faire que la pages s'affiche petit à petit pendant que le script continue sa génération ?

    merci

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Par défaut
    Bonjour,

    Tu vas devoir jouer sur la bufférisation de sortie ob_start() ob_flush().

    Exemples dans la doc.

  3. #3
    Invité
    Invité(e)
    Par défaut
    en ce qui concerne la solution consistant à un équivalent des threads, tu peux faire des processus fils comme en C avec fork()

  4. #4
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    merci à vous 2

    ripat-> je comprends pas à quoi ca sert exactement ob_start et ob_end_flush ?

  5. #5
    Membre Expert
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Par défaut
    Tu peux regarder les ticks aussi :
    http://fr.php.net/manual/fr/control-...es.declare.php

    Par contre, j'imagine (c'est un peu flou) que le probleme se pose lorsque tu généres ta page.
    Et que durant cette génération les balises img le ralentisse car elles attendent que le serveur répondent ?
    Auquel cas tu est tributaire du navigateur. dans ce cas la pourquoi ne pas créer un cache ?

  6. #6
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    parce que je savais pas qu'on pouvait :p

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Par défaut
    Au lieu d'être envoyé au client, les sorties sont mises en tampon. Les tampons sont vidés avec un flush. Petit exemple:

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    $texte = "\nBonjour, timestamp --> ";
     
    echo '<pre>';
     
    ob_start();
      echo $texte.date('H:i:s');
    ob_end_flush();
    flush();
    sleep(3);
     
    ob_start();
      echo $texte.date('H:i:s');
    ob_end_flush();
    flush();
    sleep(3);
     
    ob_start();
      echo $texte.date('H:i:s');
    ob_end_flush();
    flush();
    sleep(3);
     
    ob_start();
      echo $texte.date('H:i:s');
    ob_end_flush();
    flush();

  8. #8
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    ca serait plutot le système de cache qu'il faudrait que j'utilises enfin je penses :s

  9. #9
    Membre Expert
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Par défaut
    Dans ce cas précis je comprend pas trop bien l'utilité du ob_*.
    Puisque ton problème ce sont les temps de génération du serveur qui ne seront pas fondamentalement réduit en utilisant ob_*.

    Par contre rien ne t'empeche d'enregistrer les miniature dans un dossier et de les récréer lorsque la date de modification de l'image d'origine est supérieur à la date de création de la miniature.
    Et si ce n'est pas le cas faire une simple lecture de fichier.

    non?

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

Discussions similaires

  1. [PHP-JS] équivalent charAt en php
    Par djazz dans le forum Langage
    Réponses: 5
    Dernier message: 31/07/2007, 18h07
  2. [PHP-CLI] équivalent à setInterval
    Par SamuelDr dans le forum Langage
    Réponses: 8
    Dernier message: 01/07/2006, 19h49
  3. Réponses: 5
    Dernier message: 14/06/2006, 16h35
  4. threads en php
    Par naourass dans le forum Langage
    Réponses: 8
    Dernier message: 21/11/2005, 11h09
  5. [Débutant] équivalent du include() php
    Par R3iTt0R dans le forum ASP
    Réponses: 5
    Dernier message: 07/07/2004, 11h46

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