getimagesize() affreusement longue - PHP - Programmation
Marsh Posté le 26-11-2005 à 23:54:28
Si tu utilises GD pour redimentionner ton image, tu peux utiliser imagesx et imagesy beaucoup plus rapide car aucun accès disque.
Tu peux également créer un cache pour tes miniatures.
Marsh Posté le 27-11-2005 à 00:00:17
imagesx et imagesy arrangent pas trop le probleme
vu que je suis force de lancer un createimagefrom...($url) avant vu que l image est distante
Marsh Posté le 27-11-2005 à 01:21:34
Bah je ne sais pas, tu ne donnais pas l'intégralité de ton script.
Pense plutot à un système de cache dans ce cas. Vu qu'à mon avis, le ralentissement est surtout dut à ce que tu vas chercher à distance, tu ne dois pas pouvoir faire grand chose pour accélérer les accès.
Marsh Posté le 27-11-2005 à 07:26:26
en fait c'est pour un forum phpbb , je veux redimensionner a l'affichage les avatars distants excedant 150x150
la seule maniere que je voyais etant :
1->verifier la taille de l'avatar distant
2->si trop grand redimensionner sinon touche pas
3->afficher dans une balise img avec la bonne taille
mais il y a peut etre mieux?
Marsh Posté le 27-11-2005 à 10:10:52
Tu redimenssionne lors de la phase de création de l'avatar ou à chaque affichage dans une page ?
Marsh Posté le 27-11-2005 à 15:01:25
non a chque affichage puisque l'avatar est distant (c'est un url)
Marsh Posté le 27-11-2005 à 15:18:11
ReplyMarsh Posté le 27-11-2005 à 15:33:35
Bah, moi ce que j'ai fait sur mon forum, j'ai fait une fonction d'upload des avatars.
Tu te rends compte du truc que tu as l'air de proposer la consommation perdu ?
J'imagine une conversation entre 10 mecs sur un topic avec affichage de 20 messages.
ça fait 10 fois aller chercher l'image sur un autre site pour connaitre la taille, disons que 7 sont okey et que 3 sont trop grands, ça fait 3 fois aller chercher l'image sur un autre site (très long car si tu vas les chercher, c'est qu'elles sont trop grandes donc potentiellement assez lourde), la redimentionner (si un petit malin met une image de 3Mo en avatar, tu fais planter ton script pour mémoire insuffisante).
Bref, spa une bonne idée.
Marsh Posté le 27-11-2005 à 16:11:10
oki donc c'est bien ce que je pensais il n'existe pas de solution viable de redimensionnement d'avatar trop grand (ni meme de detection) pour les avatars distants
la seule solution consistant a redimensionner de maniere fixe (sans controle de la taille , donc meme agrandir les plus petits)
et c'est mechament moche
Marsh Posté le 27-11-2005 à 16:13:35
ou d'empecher les avatars extérieurs...
Marsh Posté le 27-11-2005 à 16:51:17
KangOl a écrit : ou d'empecher les avatars extérieurs... |
je ne suis malheureusement pas abilite a prendre ces decisions
Marsh Posté le 27-11-2005 à 16:54:45
A la rigueur tu peux essayer de faire un cache local des avatars.
La première fois que tu rencontre un avatar, ou lorsqu'un user en définie un, tu en fait une miniature en local sur le serveur et dont tu servira la prochaine fois.
Marsh Posté le 27-11-2005 à 17:28:09
Ricco a écrit : A la rigueur tu peux essayer de faire un cache local des avatars. |
c'est une piste a creuser
merci ricco
Marsh Posté le 27-11-2005 à 22:55:05
finalement je boucle sur tous les avatars de ma bdd et je remplace ceux qui ne respectent pas les dimensions par un avatar de merde explicatif des lois
Marsh Posté le 26-11-2005 à 23:51:01
salut
j'ai ecrit un script qui redimensionne des images distantes affiches sur mon site
je fais un truc du style
le pb c'est qu l'appel a la fonction getimagesize(effectuee sur chaque image de la page) semble affreusement ralentir l'affichage de la page
existe t il une alternative valable a cette fonction , moins couteuse en perfs , sacahnt que la seile chose qui m interesse est de recuperer la taille d'une image distante
merci
Message édité par betsamee le 26-11-2005 à 23:52:00