Se connecter
Se connecter

ou
Créer un compte

ou

Sujet Images dans les forums

  • 23 réponses
  • 8 participants
  • 868 vues
  • 1 follower
Sujet de la discussion Images dans les forums
Hello, FredT

serait il possible de limiter la taille des images incluses par la balise [img] dans les forums ? il n'est pas rare que certains mettent des images d'une taille telle qu'il devient pénible de lire les messages, le site partant dans tous les sens à l'horizontale...(bref je pense à des fonctions comme la détection de taille d'image dans Php(getimagesize), et à fixer les paramètres width et height de la balise <img> si l'image dépasse une certaine taille).
2
Houla.... pas simple ! Cela supppose de "lire" toutes les images d'un topic, de calculer les tailles max et de bidouiller le code HTML avant de l'envoyer!!!!

Un beau challenge, mais j'y vois un gros inconvénient : vu le nombre d'URL foireuses (vous savez ces petites croix rouges qui émaillent nos forums, surtout lorsque nos newbies essayent d'inserer une image :oo: ), et les inévitables problèmes de connexion à des sites distants, ça risque de sérieusement ralentir l'affichage !

La seule solution viable à mon avis est de rapatrier ces images sur notre serveur et de les traiter en local, mais là, j'en connais un (Psyc...) qui va pas être content !

Il y a peut être une autre voie à explorer : utiliser un ch'ti javascript "générique" qui retaille chaque image à la volée lors de l'affichage. A creuser !
3
Bon c'était une suggestion cette histoire, d'ailleurs je suis un peu le seul à l'avoir demandé...mais bon, je repense à ton [img] : à ce moment tu dois bien récupérer l'url de l'image et générer dynamiquement une balise HTML, non ? c'est là que je voyais la fonction getimagesize utilisée, qui peut permettre ensuite de "forcer" la taille de l'image au niveau de la balise <img> seulement si une taille maximale prédéfinie est dépassée...après en termes de performances, je sais pas si c'est lourd...
il est clair par contre que de rappatrier les images sur le serveur AF, ça risque de bouffer de la place à force...
4
Tu as raison Lsan, c'est assez chiant d'avoir un texte qui s'étend sur la largeur d'une image trop grande. Je te soutiens :)
5
Ben si je ne m'abuse, t'es bien obligé de détecter les balises [ img ] contenu dans les messages de chaque post avant de les afficher, pour les transformer en code HTML ? Donc a ce moment la, il suffirait de détecter la taille de l'image et si elle est trop grande, il suffit de la redimensionner a une taille correct, juste en rajoutant un "width=???" a l'intérieur de la balise <img>... Je suis sûr que c'est tout con !
6
Le site est fait en php ?
7
Tiens, ça devrait être un truc comme ça :

Citation :
//
// bon, j'ai remplacé les dollars par des &, car sinon on ne voit pas apparaitre le nom
// de la variable dans le post :clin:
//
// &taillemax est la taille maximale horizontale autorisée
// &urlimage est l'adresse url de l'image récupérée dans le tag [img]
// &coord est un tableau de 4 valeurs, dont la première correspond à la largeur de
// l'image
//
&taillemax=500; //par exemple
&coord=getimagesize(&urlimage);

if ( &coord[0] > &taillemax )
{
echo "<IMG src=&urlimage width=&taillemax border=0>";
}
else
{
echo "<IMG src=&urlimage border=0>";
}



ps : certains liens de AF ont l'extension .php, donc ça devrait être en php :clin:
8
C'est malheureusement plus compliqué que ça !

En fait, les [img ] sont simplement remplacés par les balises HTML classiques <IMG...>. J'utilise pour cela une expression régulière qui passe l'ensemble du code HTML à la moulinette. Bref, c'est fait à la volée et à aucun moment, je ne viens lire les caractéristiques de l'image en question. Récupérer la taille lors de cette étape est donc impossible !

Par contre, je dois pouvoir introduire une fonction javascript dans le code HTML généré qui fera le boulot coté client et non pas coté serveur... héhé!!! sympa cette idée :bravo:

___________________
Fred - AudioFanzine
www.audiofanzine.com
___________________
9
Heu... j'ai un peu la flemme... vous pourriez me passer le lien d'une page qui contient ces fameuses images maousses????
10
Tu peux shoper la fonction de phpbb, elle est bien faite, tu mettra une petite ligne de copyright dans ton code, et ce sera bon
et puis à mon avis ca va pas trop ralentir, du moins grand max 5%

ps : si tu veux je te l'envoie mais j'ai la flemme d'aller extraire la fonction dans le merdier qu'est le code de ce forum