getimagesize() affreusement longue

getimagesize() affreusement longue - PHP - Programmation

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

Code :
  1. ...
  2. $taille = getimagesize($urlimage);
  3. if($taille[0]>maxwidth)
  4. width = maxwidth
  5. else
  6. width = $taille[0]
  7. ...


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
Reply

Marsh Posté le 26-11-2005 à 23:51:01   

Reply

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.

Reply

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

Reply

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.

Reply

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?

Reply

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 ?


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
Reply

Marsh Posté le 27-11-2005 à 15:01:25    

non a chque affichage puisque l'avatar est distant (c'est un url)

Reply

Marsh Posté le 27-11-2005 à 15:12:17    

Tin, mais t'es fou. :ouch:

Reply

Marsh Posté le 27-11-2005 à 15:18:11    

The-Shadow a écrit :

Tin, mais t'es fou. :ouch:


 
 :D  probable , que me preconises tu dans ce cas precis ?

Reply

Marsh 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. :D

Reply

Marsh Posté le 27-11-2005 à 15:33:35   

Reply

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 :D

Reply

Marsh Posté le 27-11-2005 à 16:13:35    

ou d'empecher les avatars extérieurs...


---------------
Nos estans firs di nosse pitite patreye...
Reply

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  :pfff:

Reply

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.


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
Reply

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.
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.


c'est une piste a creuser  
merci ricco

Reply

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

Reply

Sujets relatifs:

Leave a Replay

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