par
Sékiltoyai » 19 juil. 2007, 23:21
Tout d'abord tu dois faire un système te permettant de ne générer le fichier que si nécessaire.
Tu as plusieures solutions :
1) Tu dois avoir un serveur SQL avec une table du style :
champ id INT AUTO_INCREMENT PRIMARY
champ date TIMESTAMP INDEX
Dans un seul fichier, tu te connectes à une base de données ( vois du côté de mysql_connect() et mysql_select_db() ), tu fais une requète avec mysql_query() pour récupérer le timestamp supérieur à la dernière mise à jour (je suppose que tu as exactement les horaires de mise à jour). Si tu trouves un résultat, ca veut dire que tu as déjà le fichier, sinon, il faut le générer. Et par commodité, tu peux appeler le fichier image_$timestamp.gif.
2) En plus simple, tu peux aussi vérifier directement si le fichier image_$timestamp.gif avec file_exists() en utilisant la date théorique de la mise à jour.
3)...
Ensuite, si tu dois regénérer le fichier, tu le télécharges avec file_get_contents(), tu utilises imagecreatefromstring() pour obtenir une ressource exploitable par les fonctions d'image, tu parcours l'image (pour en connaître les bornes, tu as getimagesize() ), tu récupère la couleur de l'index courant avec imagecolorat() et tu le fixes avec imagesetpixel(). Tu écris enfin l'image avec imagegif(), puis tu l'envoies vers le navigateur avec la même fonction.
Je comprend que cela peut paraître compliqué, mais il suffit de diviser les problèmes.
Tout d'abord tu dois faire un système te permettant de ne générer le fichier que si nécessaire.
Tu as plusieures solutions :
1) Tu dois avoir un serveur SQL avec une table du style :
champ id INT AUTO_INCREMENT PRIMARY
champ date TIMESTAMP INDEX
Dans un seul fichier, tu te connectes à une base de données ( vois du côté de mysql_connect() et mysql_select_db() ), tu fais une requète avec mysql_query() pour récupérer le timestamp supérieur à la dernière mise à jour (je suppose que tu as exactement les horaires de mise à jour). Si tu trouves un résultat, ca veut dire que tu as déjà le fichier, sinon, il faut le générer. Et par commodité, tu peux appeler le fichier image_$timestamp.gif.
2) En plus simple, tu peux aussi vérifier directement si le fichier image_$timestamp.gif avec file_exists() en utilisant la date théorique de la mise à jour.
3)...
Ensuite, si tu dois regénérer le fichier, tu le télécharges avec file_get_contents(), tu utilises imagecreatefromstring() pour obtenir une ressource exploitable par les fonctions d'image, tu parcours l'image (pour en connaître les bornes, tu as getimagesize() ), tu récupère la couleur de l'index courant avec imagecolorat() et tu le fixes avec imagesetpixel(). Tu écris enfin l'image avec imagegif(), puis tu l'envoies vers le navigateur avec la même fonction.
Je comprend que cela peut paraître compliqué, mais il suffit de diviser les problèmes.