Page 1 sur 1

Script pour renommer 5000 images

Posté : 26 juil. 2009, 21:58
par stefane321
bonjour,

Je dois importer les données d'un site d'annonces classé dans un autre site d'annonce mais qui utilise un programme différent

je dois donc renommer les 5000 images des annonces pour que sa fonctionne avec le nouveau site.

pour se j'ai penser faire une requete et une boucle et utiliser la fonction copy()

La question que je vous pose est: est-ce approprié d'utiliser php pour un tel travail? Sa va tu faire planté mon serveur? Puis-je rendre illimité le max execution time de php.ini?

Merci!

Posté : 26 juil. 2009, 23:34
par thehawk
Php est tout a ait capable de le faire ;) seulement soulage le serveur , pour peut être en traitant par paquet de 100 images et une redirection etc pour arriver au 5000, pck a la limite tu n'est pas pressé faut juste que ce soit bien fait :)


Bonne nuit Hawk

Posté : 27 juil. 2009, 00:19
par momox
Une boucle traitant un tableau de 5000 itérations n'est pas, a mon humble avis, quelque chose d'insurmontable. Ce n'est pas le genre de traitements qui bouscule le serveur, ce ne sont que des accès et des écritures au niveau disque, mais peu de calculs processeur a proprement parler.
L'idéal, c'est d'utiliser la fonction glob() pour récuperer la liste compléte des images sous forme de tableau, puis, a l'aide d'une boucle, renommer les fichiers en utilisant la fonction rename().
C'est relativement simple ma foi.

Posté : 27 juil. 2009, 00:28
par stefane321
y a t-il une façon de faire une fonction qui travaillera par paquet de 100 ou si je devrais exécuter la fonction manuellement 50 fois

Posté : 27 juil. 2009, 02:40
par AB
Si tu travaille par paquets de 100 il faut bien que ton script s'arrête tous les 100 traitements (les fonctions sleep() sont prises en compte dans le temps total d'exécution et ne peuvent pas scinder un même traitement en plusieurs). Donc il te faudra bien relancer la fonction manuellement où à l'aide de tâches automatisées comme un cron (mais pas la peine pour si peu).

Si tu fais comme te dis momox tu peux enregistrer ton tableau dans une variable de session puis à la fin du script supprimer les 100 premières entrées du tableau. Et ensuite relancer la tâche. Tu peux aussi faire certainement beaucoup plus que 100 traitements et pas impossible que ce soit jouable en une seule fois.

Posté : 27 juil. 2009, 12:44
par thehawk
j'ai parlé de 100 pour un serveur type free ^^ apres tous dépend du serveur ^^

bye hawk

Posté : 27 juil. 2009, 23:16
par J-Nicolas
J'ai déjà fait quelque chose comme cela. J'avais rapatrié toutes les images sur mon PC par FTP, et j'avais trouvé un petit freeware qui avait ajouté quelques caractères à mes noms de fichiers. Le transfert de fichier avait été un peu long, mais le temps de travail était bien plus court que si j'avais dû écrire un script.