Je vois plusieurs solutions a ton probleme.
1) Utiliser la balise meta avec un temps d'attente (par exemple 1 seconde).
2) Utiliser un JS.
3) Utiliser un "trick" qui necessite pas de refresh.
Le trick en question est le fait de "creer" un page html temporaire. Cette page va contenir des "images". Mais ces images ne sont la que pour lancer ton script, il n'y aura rien d'affiche.
Par exemple :
Code :
- <img src="generethumbs.php?start=0&end=20">
- <img src="generethumbs.php?start=20&end=40">
|
Lorsque le navigateur va essayer de recuperer les images en question, il va lancer ton script. Une fois que ton a traite les images en question, tu pourrais meme renvoyer une image afin d'avoir un "feedback" qui te permete de savoir ou en est le processus. Ensuite le navigateur va passer a l'image suivante, et du coup, il va re lancer ton script.
Il faut savoir que certains navigateurs ne chargent pas forcement les images les unes apres les autres. Il peuvent les charger 2 par 2, ou plus en meme temps. A chaque fois il creent une nouvelle connexion avec le serveur, et donc lancent une nouvelle fois ton script.
Bon, avec cette methode, il faut faire attention de l'impact sur les performances du serveur.
En general la creation de Thumbs est quelque chose de lourds, alors si en plus tu lance 2 fois ton script a chaque fois, tu risque de faire monter la charge du processeur.
Pour rappel, si tu as un hebergement mutualise, il est fort possible que dans les conditions generales il soit marque que tu ne peux pas avoir un script qui occupe plus de 5% du processeur (par exemple).
Donc attention avec cette methode.