|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : janvier 2005 Messages : 41 ![]() |
Bonjour,
j'ai crée une fonction qui me permet de gérer ma galerie photo. J'ai un dossier nommé 'FULL' qui contient mes images nommées 1.jpg, 2.jpg, ... Le script crée 3 formats miniatures de ces photos (miniature, aperçu, zoom). Tout fonctionne bien en local, bien que j'ai du rajouter un set_time_limit(0); afin de ne pas dépasser les 30s du time_limit de php.ini. En local, donc, tout est ok. Cependant, lorsque je test cette fonction sur mon hebergeur, tout commence bien, mais le script s'arrête vers la 8eme photo. Je pense qu'il doit y avoir un config de l'hebergeur qui évite la surcharge de son proc, mais bon... Pour info, je suis chez 1and1 Quelles solutions pourriez-vous me proposer ? Code :
|
||
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Étudiant Inscription : novembre 2006 Messages : 129 ![]() |
Eh bien, si ton hébergeur refuse que tu traite plus de 8 images par chargement, tu n'en traite pas plus
Et une fois que tu en a traité 8, tu recharge la page (un meta refresh sera suffisant) et tu traite les 8 suivantes. Jusqu'à la fin de ton traitement. |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : janvier 2005 Messages : 41 ![]() |
Je ne sais pas s'il refuse ou s'il y a un timeout ou autre chose.
Mais avec le meta refresh, ca va etre galere de reprendre à l'image ou ca c'est arreté. Au fait, c est pas 8 mais 9... en plus je ne pense pas que cela vienne de ca, car lrsque je ne créer que les miniatures, j'arrive a en faire 11. |
|
|
00
|
|
|
#4 |
|
Membre régulier
![]() Inscription : août 2006 Messages : 115 ![]() |
Je ne sais pas si ca peut marcher, mais il y a moyen de mettre l'execution du script durant un certain nombre de secondes en pause. Voir les fonctions :
http://fr3.php.net/sleep http://fr3.php.net/manual/en/function.usleep.php Voir aussi peut-etre: http://fr3.php.net/manual/en/functio...time-limit.php |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : janvier 2005 Messages : 41 ![]() |
Non, malheureusement cela ne marche pas...
|
|
|
00
|
|
|
#6 |
|
Membre régulier
![]() Inscription : août 2006 Messages : 115 ![]() |
Tu as bien essayé de faire un traitement par lots de 4 ou 5 images et de mettre le script en pause un certain temps puis de reprendre ?
Traitement de 4 images > Pause de 5 secondes > Reprise du traitement > Pause de 5 secondes > etc... |
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : janvier 2005 Messages : 41 ![]() |
j'essaye en rajoutant ca dans le while : if($i%5==0) sleep(5);
je te dis après .... Ca ne fonctionne pas, le sleep() est compté dans le timeout de l hebergeur. Donc après les 4 images crée, ca s'arrête. |
|
|
00
|
|
|
#8 |
|
Membre émérite
![]() Inscription : juin 2002 Messages : 1 013 ![]() |
cela ne répond certainement pas à ta question, mais j'ai un petit commentaire à faire :
les imagecreatecopyresampled etc utilisent beaucoup (vraiment beaucoup) de ressources. Et prennent beaucoup de temps, donc ta page sera très longue à charger (que tu aies mis le time limit à 0 ne change pas le temps de chargement) Donc je te suggère la méthode suivante (c'est celle que j'utilise) : contrôler si l'image miniature existe et la créer uniquement si elle est inexistante idem bien entendu pour aperçu et zoomL'avantage est double : d'une part ton code sera plus rapide (sauf la première fois) et le temps de chargement pareilet pour finir : si ton script n'exécute que 7 photos, eh bien les voilà créées, et au prochain passage ton script exécutera sept autres photos (bien sûr ce n'est pas propre, mais cela fonctionne...) |
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Inscription : janvier 2005 Messages : 41 ![]() |
Super !
merci pour les conseils ! En fait je test l'existence des fichiers comme tu me l'as expliqué avant et he met un meta refresh de 10s dans le head pour recharger la page. A la sortie du mon while je fais une redirection Javascript vers une autre page pour me dire que c'est fini ! C'est un peu long, mais ca me convient parfaitement ! Merci |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com