[php] Générer petit image a partir d'une grande

Générer petit image a partir d'une grande [php] - PHP - Programmation

Marsh Posté le 17-03-2003 à 11:08:53    

Bonjours,
 
alors voila, j'aimerai savoir comment vous faites vous pour faire vos albums d'images Je voudrais qu'il y ai un index avec la vue des photo "petite", puis o click qu'elle s'grandisse. J'arrive facilement a le faire, mais un probleme d'optimisation se hurte à moi. En effet, j'utilise la meme image que l'affichage soit grand (800*600) ou petit (160*120), et laffichage des images petites est en conséquent lent.  
 
J'aimerai savoir comment vous vous y prenez vous, car l'album contiendrai une foule dimage, donc, faire une image petite pour chaque ilage, ce sera lourd :/ d'autant plus que j'utilise un systeme d'upload d'images.
 
Enfait, comme le systeme hak du phpbb : http://www.graphikstar.com/site/wo [...] p?cat_id=8 c'est, il me semble, la meme image grande ou eptite, or, l'affichag des eptites images estr apide ! commetn cela se fait t'il ?
 
Merci  :hello:


Message édité par rainckill le 17-03-2003 à 20:11:01
Reply

Marsh Posté le 17-03-2003 à 11:08:53   

Reply

Marsh Posté le 17-03-2003 à 11:11:44    

rainckill a écrit :

Bonjours,
 
alors voila, j'aimerai savoir comment vous faites vous pour faire vos albums d'images Je voudrais qu'il y ai un index avec la vue des photo "petite", puis o click qu'elle s'grandisse. J'arrive facilement a le faire, mais un probleme d'optimisation se hurte à moi. En effet, j'utilise la meme image que l'affichage soit grand (800*600) ou petit (160*120), et laffichage des images petites est en conséquent lent.  
 
J'aimerai savoir comment vous vous y prenez vous, car l'album contiendrai une foule dimage, donc, faire une image petite pour chaque ilage, ce sera lourd :/ d'autant plus que j'utilise un systeme d'upload d'images.
 
Enfait, comme le systeme hak du phpbb : http://www.graphikstar.com/site/wo [...] p?cat_id=8 c'est, il me semble, la meme image grande ou eptite, or, l'affichag des eptites images estr apide ! commetn cela se fait t'il ?
 
Merci  :hello:  


 
2 possibilités :
 
1) tu crées les petites vignettes avec un log d'image (ya des scripts qui permettent d'automatiser la tâche).
 
2) PHP : tu génères automatiquement une vignette à partir de la grande image, et c'est cette vignette qui sera sollicitée.

Reply

Marsh Posté le 17-03-2003 à 20:10:18    

Hermes le Messager a écrit :


2) PHP : tu génères automatiquement une vignette à partir de la grande image, et c'est cette vignette qui sera sollicitée.


 
Je m'imaginer aussi un tel systeme, mais comment le réalisé ? A partir de l'upload de l'image 800*600, php peut créer (et uploader dc) une meme image mais de taille différente ? Comment ?
 
Merci :)

Reply

Marsh Posté le 17-03-2003 à 20:27:31    

rainckill a écrit :


 
Je m'imaginer aussi un tel systeme, mais comment le réalisé ? A partir de l'upload de l'image 800*600, php peut créer (et uploader dc) une meme image mais de taille différente ? Comment ?
 
Merci :)


 
 :cry:  :cry:  SVP, écris mieux... C'est fatiguant à force, et ça te jouera des tours dans ta vie prof.
 
Bon, pour en revenir à ton problème :
 
PHP peut créer des images à partir d'images uploadées (ou non). Il convient pour cela d'utiliser des fonctions de la librairie GD qui est automatiquement présente avec les versions 4+ de PHP.
 
Tu dois consulter le manuel de PHP (en .chm, le plus pratique, dispo sur php.net en français) et tapper dans "rechercher" : "images". Tout y est parfaitement expliqué avec exemples de codes à l'appui.
 
Voilà ;)

Reply

Marsh Posté le 18-03-2003 à 18:29:53    

Excuse moi pour ces fautes ;) ça arrive au meilleur d'entre nous  :sol:  :whistle:
 
Bon, en suivant tes conseils et en effectuant donc cette recherche, j'ai trouvé ce code, exactement ce qu'il me fallait  :p
 

Code :
  1. <?
  2. function SafComMakeThumbnails($filename, $filetype, $filepaths, $filepatht, $filewidth, $filehight, $smallstart)
  3. {
  4. $filename = $filename; // file name on source path
  5. $filetype = $filetype; // file type (gif or jpg in mime format like image/gif or image/pjpeg)
  6. $filepaths = $filepaths; //source :: /usr/home/www/images/visitorcards
  7. $filepatht = $filepatht; //target :: /usr/home/www/images/visitorcards
  8. $filewidth = $filewidth; // resize image width
  9. $filehight = $filehight; // resize image hight
  10. $smallstart = $smallstart; // Small Image start with
  11. if ($filetype =="image/pjpeg" )
  12. {
  13. $src_img = imagecreatefromjpeg($filepaths . "/" .$filename);
  14. $dst_img = imagecreate($filewidth,$filewidth);
  15. imagecopyresized($dst_img, $src_img, 0, 0, 0, 0, $filewidth, $filewidth, imagesx($src_img), imagesy($src_img));
  16. imagejpeg($dst_img, "$filepatht/$smallstart$filename" );
  17. }
  18. else
  19. {
  20. $src_img = imagecreatefrompng($filepaths."/".$filename);
  21. $dst_img = imagecreate($filewidth,$filewidth);
  22. imagecopyresized($dst_img, $src_img, 0, 0, 0, 0, $filewidth, $filewidth, imagesx($src_img), imagesy($src_img));
  23. imagepng($dst_img, "$filepatht/$smallstart$filename" );
  24. }
  25. }
  26. ?>


 
Par contre, je ne vois pas trop comment l'utiliser  :sweat: C'est sous la forme d'une fonction, il faut donc faire appel à cette fonction à un moment donné ? Mais comment ?
 
Merci  :hello:

Reply

Marsh Posté le 18-03-2003 à 19:00:11    

Tu dois apprendre PHP, il faut en passer par là, pas d'autres choix.
 
Saches que pour appeler une fonction, on fait :
 
nom_de_la_fonction(paramètre1, paramètre2, etc...);
 
Tout simplement. Mais ce n'est pas à moi de t'apprendre le php. Il y a des sites très bien faits pour ça : phpdebutant.org par exemple. ;)

Reply

Marsh Posté le 18-03-2003 à 21:33:16    

http://www.php.net/ pour chercher a koi correspond les fonctions ...

Reply

Marsh Posté le 18-03-2003 à 21:37:29    

weed a écrit :

http://www.php.net/ pour chercher a koi correspond les fonctions ...


 
C plus la peine, il a télécharger le fichier .chm qui est en fait le contenu de l'index de toutes les fonctions PHP + des exemples de code justement sur php.net ;)

Reply

Marsh Posté le 19-03-2003 à 12:07:12    

oki merci :)
 
bon, par contre, je rencontre ces erreurs :( :

Code :
  1. Warning: imagecreatefromjpeg(/14.jpg) [function.imagecreatefromjpeg]: failed to create stream: No such file or directory in /home/graphiks/www/site/wow/img_ajout00.php on line 20
  2. Warning: imagecopyresized(): supplied argument is not a valid Image resource in /home/graphiks/www/site/wow/img_ajout00.php on line 22
  3. Warning: imagejpeg() [function.imagejpeg]: Unable to open '/14.jpg' for writing in /home/graphiks/www/site/wow/img_ajout00.php on line 23


 
ceci en appellant la fonction citée plus haut par  

Code :
  1. mini($nomimg, $img_type, $filepaths, $filepatht, 160, 120, $smallstart)


sachant que le nom de l'image uploadée est renommée $nomimg mais le champ est $img (d'ou $img_type)
 
Quelqu'un peut m'aider ? :(
 
dsl

Reply

Marsh Posté le 19-03-2003 à 12:08:50    

c evident ... c marqué  
/14.jpg nest pas un fichier !!!

Reply

Marsh Posté le 19-03-2003 à 12:08:50   

Reply

Marsh Posté le 19-03-2003 à 12:15:49    

pourtant c bien l'image (800*600) que j'uplaode  :heink:

Reply

Marsh Posté le 19-03-2003 à 12:41:28    

rainckill a écrit :

pourtant c bien l'image (800*600) que j'uplaode  :heink:  


 
Tu dois avoir un problème de chemin dans tes fichiers, ou des chmods mal rêglés.
 
Mais de toutes manières, tu mets la charue avant les boeufs coco... Avant d'apprendre à utiliser ce genre de fonction, commences déjà par assimiler les bases. C'est l'affaire de 2 semaines à un moins de boulot, mais sans ça, tu posteras des messages ici toutes les dix minutes.  
On peut pas étudier à ta place.
 
 :hello:

Reply

Marsh Posté le 19-03-2003 à 12:48:10    

bahh le pb c qu'il veut juste utiliser 2-3 fonctions php  
 
dont il a besoin  
 
ms ehhhh malheuresement les bases st obligatoires

Reply

Marsh Posté le 19-03-2003 à 12:49:15    

weed a écrit :

bahh le pb c qu'il veut juste utiliser 2-3 fonctions php  
 
dont il a besoin  
 
ms ehhhh malheuresement les bases st obligatoires  


 
jusqu'à la prochaine fois où il verra que là encore c plus pratique d'utiliser le PHP. Je connais ce genre de logique, c'est sans fin...

Reply

Marsh Posté le 19-03-2003 à 14:06:35    

euh ca va vous paraitre bizarre que je dise ca, mais els bases, je les ai deja :p
 
mais elle ne m'aide aps a résoudre les erreurs rencontrées :/


Message édité par rainckill le 19-03-2003 à 14:15:58
Reply

Marsh Posté le 19-03-2003 à 14:08:49    

rainckill a écrit :

euh ca va vous paraitre bizarre que je dise ca, mais els bases, je 'lai ai deja :p


 
Ben quand on sait pas comment employer une fonction, je me dis que certains chapitres ont été "sautés", moi. ;)
 
Normalement, quelqu'un qui fait tous les tutos de phpdebutant.org jusqu'au bout en les ayant parfaitement compris, n'a pas le genre de problème que tu rencontres.
 
Savoir faire un écho ou un if n'est pas suffisant. Il faut aussi se pencher sur les fonctions etc...

Reply

Marsh Posté le 19-03-2003 à 14:11:35    

[:drapo]

Reply

Marsh Posté le 19-03-2003 à 14:17:25    

Hermes le Messager a écrit :


 
Ben quand on sait pas comment employer une fonction, je me dis que certains chapitres ont été "sautés", moi. ;)
 
Normalement, quelqu'un qui fait tous les tutos de phpdebutant.org jusqu'au bout en les ayant parfaitement compris, n'a pas le genre de problème que tu rencontres.
 
Savoir faire un écho ou un if n'est pas suffisant. Il faut aussi se pencher sur les fonctions etc...


 
oui, j'ai vu les exo de phpdébutant il y a longtemps ;) aucun n'avait été sauté, nonon, mais ca fait qd meme longtemps, et j'avais oublié ce dont je me sers quasi jamais en php, els foncions

Reply

Marsh Posté le 19-03-2003 à 14:19:34    


pas compris  :heink:

Reply

Marsh Posté le 19-03-2003 à 14:21:50    

rainckill a écrit :


pas compris  :heink:  


 
t dois pas bcp connaître le forum toi...
 
le drapeau c'est pour marqué un topic qui nous interesse (et ainsi le retourver plus vite) ça revient au même que de poster n'importe quel message mais c'est plus explicite, là j'avais rien à dire mais je voulais pas perdre le topic, voilà  :na:

Reply

Marsh Posté le 19-03-2003 à 14:26:27    

Terrible Hermes, merci pour le truc du manuel en chm à télécharger, y'a tout  :love:  
 
 :)

Reply

Marsh Posté le 19-03-2003 à 14:39:07    

DrWatson a écrit :


 
t dois pas bcp connaître le forum toi...
 
le drapeau c'est pour marqué un topic qui nous interesse (et ainsi le retourver plus vite) ça revient au même que de poster n'importe quel message mais c'est plus explicite, là j'avais rien à dire mais je voulais pas perdre le topic, voilà  :na:  


 
ah oki ^^
 
(je connaissais le drapo, mais j'avais pas compris pq tu le posté ici ;))

Reply

Marsh Posté le 22-03-2003 à 20:57:12    

rainckill a écrit :

oki merci :)
 
bon, par contre, je rencontre ces erreurs :( :

Code :
  1. Warning: imagecreatefromjpeg(/14.jpg) [function.imagecreatefromjpeg]: failed to create stream: No such file or directory in /home/graphiks/www/site/wow/img_ajout00.php on line 20
  2. Warning: imagecopyresized(): supplied argument is not a valid Image resource in /home/graphiks/www/site/wow/img_ajout00.php on line 22
  3. Warning: imagejpeg() [function.imagejpeg]: Unable to open '/14.jpg' for writing in /home/graphiks/www/site/wow/img_ajout00.php on line 23


 
ceci en appellant la fonction citée plus haut par  

Code :
  1. mini($nomimg, $img_type, $filepaths, $filepatht, 160, 120, $smallstart)


sachant que le nom de l'image uploadée est renommée $nomimg mais le champ est $img (d'ou $img_type)
 
Quelqu'un peut m'aider ? :(
 
dsl


 
Personne pour m'aider ? :(

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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