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![]()
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![]()
Bonjour,
Tu vas devoir jouer sur la bufférisation de sortie ob_start() ob_flush().
Exemples dans la doc.
en ce qui concerne la solution consistant à un équivalent des threads, tu peux faire des processus fils comme en C avec fork()
merci à vous 2
ripat-> je comprends pas à quoi ca sert exactement ob_start et ob_end_flush ?
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 ?
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();
ca serait plutot le système de cache qu'il faudrait que j'utilises enfin je penses :s
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?
Partager