Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks
Bibliothèques et frameworks Forum d'entraide sur les frameworks, templates, bibliothèques de code (PDFLib, eZPdf, JpGraph, Artichow, PEAR, etc). Avant de poster : FAQ bibliothèques, toutes les FAQ PHP et cours bibliothèques
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/09/2006, 23h47   #1
Invité de passage
 
Inscription : juillet 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 6
Points : 3
Points : 3
Par défaut Template ( phpBB-Phplib ) et affichage de miniature via GD2 :x

Bonjour, ( ou bonsoir :p )

J'ai actuellement un petit soucis avec un projet de site ( que je réalise avec le template de phpBB - phplib ).

En effet je souhaite en récupérant le nom de photos dans la bdd les afficher via un fichier .tpl
Jusque là aucun soucis, j'inclus le nom de cette manière :

Code :
'IMG_NAME' => $name_img
Par contre, je voudrais générer des miniatures de ces images en utilisant php et GD2 pour imagecopyresampled qui produit des miniatures de bonnes qualités.
J'ai donc crée une fonction qui redimensionne une image via son nom et qui affiche la miniature.
Seulement si je fais cela :

Code :
'IMG_NAME' => img_resize_gd($name_img)
Forcément ca ne m'affiche pas l'image :p

Auriez-vous une astuce ?

( Je pourrais utiliser le css pour faire un width:50%; sur les images pour avoir les miniatures, mais on optient un qualité médiocre )

Merci !
Rohann est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2006, 00h52   #2
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Salut

Je crains que ta question n'ait déjà trouvé réponse ici-même un grand nombre de fois, car ta confusion est bien légitime.

Il faut bien voir que GD, pour envoyer une image au navigateur, a besoin d'envoyer les en-têtes HTTP correspondant au type de ton image. Cela signifie que tu ne peux pas envoyer de texte dans la même page, puisque la ressource que tu envoies doit être exclusivement une image.

La solution est de déléguer l'affichage de ton image à un script différent de celui qui affiche le reste de ta page, exactement comme si ton script était l'image : pour le navigateur, c'est le cas.
Dans ton tag <img>, la propriété src doit donc contenir l'URI du script PHP produisant la miniature. De cette manière, le navigateur effectue une requête HTTP différente pour le script produisant le code HTML et celui produisant la miniature, ce qui élimine les soucis de conflits d'en-têtes.

Bien sûr, c'est ici un faux problème. La génération d'image est tellement gourmande en ressources qu'il est nettement préférable de le faire une bonne fois pour toutes plutôt que de manière dynamique.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2006, 17h04   #3
Invité de passage
 
Inscription : juillet 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 6
Points : 3
Points : 3
Mici !

Citation:
Envoyé par Yogui
Bien sûr, c'est ici un faux problème. La génération d'image est tellement gourmande en ressources qu'il est nettement préférable de le faire une bonne fois pour toutes plutôt que de manière dynamique.
Si je comprends bien, si je souhaites faire une gallerie avec 50 images par thèmes, et donc 50 miniatures générées via GD, ça va faire patiner mon site dans la semoule ?

Il faudrait donc mieux que je redimensionne directement via css même si la qualité est pas top ? ou que je crée les miniatures et que je les Upload ensuite ?
Rohann est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2006, 18h05   #4
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Tu peux utiliser GD pour faire tes miniatures mais ne les génère pas à la volée : fais-les une fois pour toutes. Il y a des tutoriels pour cela dans nos cours.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2006, 10h47   #5
Invité de passage
 
Inscription : juillet 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 6
Points : 3
Points : 3
En fait, je n'avais pas vu les possiblité d'enregistrement de GD ( allez savoir pourquoi...)

J'ai donc fait comme tu me l'indiquais, cela fonctionne au poils.

Encore merci pour tes conseils !
Rohann est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h58.


 
 
 
 
Partenaires

Hébergement Web