Mise à jour de galerie

Mise à jour de galerie - PHP - Programmation

Marsh Posté le 05-07-2006 à 17:13:51    

Bonjour à tous
 
Actuellement je développe un site qui contiendra des évènements. Chaque évènement aura 1 ou plusieurs albums et bien entendu chaque album aura 1 ou plusieurs photos.
 
En m'inspirant d'une idée de "mise à jour par FTP" c'est-à-dire uploader les images par FTP et faire la mise à jour de la base de données avec un script php. J'arrive en vain à obtenir un résultat positif mais le problème est que l'exécution des scripts est limité à 30s par défaut (cf PHP.ini). Par principe, je ne veux pas modifier cette valeur.
J'obtiens donc un timeout lorsque je traite une trentaine de photos voir moin.
 
Je procède comme ceci :
- Lecture du répertoire évènement
- Vérification des noms d'album, s'ils existent ou non dans la base de données
- Mise à jour de la base de données
- Lecture des images contenu dans chaque album
- Vérification des images, si elles existent ou non dans la base de données
- Mise à jour de la base de données
- Vérification des vignettes, si elles existent physiquement ou pas. Si elles n'existent pas, je les cré.
 
Je suis presque sûr que ce "timeout" est dû à la création des miniatures. Et donc je voudrais savoir comment je pourrais améliorer ce traitement ou bien si je dois faire l'impasse dessus ?
Est-ce que je fais de décomposer mon traitement en plusieurs fonctions m'éviterais ce "timeout" ?
 
J'attend vos commentaires et vos critiques. Je vous remercie d'avance.

Reply

Marsh Posté le 05-07-2006 à 17:13:51   

Reply

Marsh Posté le 06-07-2006 à 08:18:41    

Salut,  
Si tu ne peux pas changer le timeout, la seule manière de faire a mon avi c'est un script qui taite 1 minature (ou 2-3 ... a toi de voir le temps que ca prend) et apres fait un refresh en passant par argument un id qui donc va faire en sorte qu'il sache a quelle miniature il etait resté


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 06-07-2006 à 08:56:12    

Pas bête. Merci esox_ch pour l'astuce. Je vais essayer.

Reply

Marsh Posté le 06-07-2006 à 16:48:10    

J'ai finalement désactivé la création des miniatures. C'est bien trop long et ca demande beaucoup trop de ressource.
 
Maintenant pour faire afficher une partie de ma page pendant ce traitement comme par exemple un message d'attente, j'ai utilisé la fonction flush() que je ne connais pas très bien et que je ne comprend pas trop, même avec les explications de php.net
 
Je voudrais donc savoir, enfin plutot avoir une confirmation, si la fonction flush permet d'envoyé les données traitées au navigateur ?
 
Question bête mais si vous pouviez m'éclairez, ca serait sympatique ;)
 
Merci et bonne fin de journée.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed