Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1050 connectés 

  FORUM HardWare.fr
  Programmation

  [PHP] tite question.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] tite question.

n°39901
FrCo
Posté le 15-06-2001 à 09:14:22  profilanswer
 

Bon voila.
g un repertoire qui contient plein d'image, et uniquement des images.
Je voudrai creer une page en php qui me genere l'appercu en vignette de ces images avec la possibilité de cliquer dessus pour les agrandir (les mettre a leur taile normal donc).
comment faire??

mood
Publicité
Posté le 15-06-2001 à 09:14:22  profilanswer
 

n°39911
Mara's dad
Yes I can !
Posté le 15-06-2001 à 09:43:56  profilanswer
 

J'ai fait un truc dans le genre, mais avec deux répertoire images.
Un avec les images au format gif et petite taille pour les vignettes et un autre pour les images en jpg grand format.
 
Pour lister le contenu des répertoires, utilise:
opendir()
readdir()
closedir()
 
exemple :

Code :
  1. <?php
  2. $handle=opendir('.');
  3. while ($file = readdir($handle)) {
  4.     // Pour ne par lire les fichier . et ..
  5.     if ($file != "." && $file != ".." ) {
  6.         echo "$file\n";
  7.     }
  8. }
  9. closedir($handle);
  10. ?>


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°39922
duch
Posté le 15-06-2001 à 10:00:22  profilanswer
 

pour générer tes thumbnails, utilise GD, par contre si tu utilise la dernière version (1.8.4 je crois), tu ne pourras pas faire de gif (problème de copyright). Mais tu peux le faire en png, ou installe une version antérieure.
 
Pour le parcours du répertoire le script de Mara's dad me semble très bien.


---------------
Webmaster du site de l'Île-Saint-Denis : http://www.lile-saint-denis.fr
n°39926
m@nou
vu z&#039;avais pas vu
Posté le 15-06-2001 à 10:05:12  profilanswer
 

y'a une solution HTML je pense
 
en PHP génère un truc dans le genre
 
<a href="tonimage"><img src="tonimage" width="32" heigth="32" border="0"></a>


---------------
Mes photos,Feed-Back HA/V
n°39952
Mara's dad
Yes I can !
Posté le 15-06-2001 à 10:30:08  profilanswer
 

m@nou, ta solution fonctionne, mais cela implique de charger toutes les images en grand format et de laisser le navigateur les réduire. J'ose pas imaginer le temps de chargement de la page !
 
duch, je vois pas l'intéret de demander au serveur de générer des thumbnails à chaque fois qu'un visiteur se pointe. Autant les générer une bonne fois pour toute non ?
 
exemple : http://www.surleau.com/photos/serie.php3?ser=10
 
Bon, là j'ai triché, les images sont référencées dans une base MySql et rangées en séries avec des commentaires, des titres...
 
Mais j'ai des pages d'administrations (protégées par mot de passe ! ) du site qui permettent:
1- De vérifier l'existance des fichiers gif et jpg des photos de la base.
2- De récupérer les nouvelles photos dans une série temporaire (C'est là que j'utilise les fonctions mentionnées plus haut)
3- D'associer les nouvelles photos à d'autre séries.
4- De créer des séries
5- De gérer les photos d'une série( Ordre d'affichage, titre, commentaires...)
 
Si çà intéresse quelqu'un, mon mail est sur le site
 
Les séries : http://www.surleau.com/photos/index.php3

 

[edit]--Message édité par Mara's dad--[/edit]


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°39957
m@nou
vu z&#039;avais pas vu
Posté le 15-06-2001 à 10:46:11  profilanswer
 

c sur ke si c des milliers d'images inter-gallactiques en 3MPixels, le d/l va être loooooooooooooong :D ;)


---------------
Mes photos,Feed-Back HA/V
n°39960
shinji
Posté le 15-06-2001 à 10:50:55  profilanswer
 

C'est quoi des thumnails?, j'aimerais bien faire la même chose, c'est à dire une page avec plusieurs mini-image sur lesquelles ont clique pour qu'elles s'agrandissent. Je vois bien comment parcourir un répertoire en PHP mais pas comment présenter les mini-images sur la même page?

n°39965
Mara's dad
Yes I can !
Posté le 15-06-2001 à 10:58:16  profilanswer
 

shinji a écrit a écrit :

C'est quoi des thumnails?, j'aimerais bien faire la même chose, c'est à dire une page avec plusieurs mini-image sur lesquelles ont clique pour qu'elles s'agrandissent. Je vois bien comment parcourir un répertoire en PHP mais pas comment présenter les mini-images sur la même page?




thumnails=mini-images
Pour les présenter sur une pages, il suffit de les mettre en tableau !
ex : http://www.surleau.com/photos/serie.php3?ser=10


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°39978
duch
Posté le 15-06-2001 à 11:27:23  profilanswer
 

Mara's dad > tout à fait d'accord avec moi, je parlais du principe, mais tu utilises bien Gd pour ton appli, pour génrer les thumbnails la première fois.

n°39982
Mara's dad
Yes I can !
Posté le 15-06-2001 à 11:31:30  profilanswer
 

duch a écrit a écrit :

Mara's dad > tout à fait d'accord avec moi, je parlais du principe, mais tu utilises bien Gd pour ton appli, pour génrer les thumbnails la première fois.




 
Ben en fait j'ai jamais utilisé Gd !
Les images sont des scans de photos que je recadre avec PaintShopPro en 800*600 max et 109 de haut max pour les thumbnails.
 
Mais l'idée est bonne puisque j'ai une hauteur fixe pour les thumbnails !
je vais de ce pas essayer ce truc !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
mood
Publicité
Posté le 15-06-2001 à 11:31:30  profilanswer
 

n°40024
shinji
Posté le 15-06-2001 à 12:32:35  profilanswer
 

Est-ce que vous pourriez montrer votre script pour que j'essaye de comprendre quelque chose SVP?

n°40025
duch
Posté le 15-06-2001 à 12:35:19  profilanswer
 

pour commencer regardes-là http://www.php.net/manual/fr/ref.image.php
 
ou en anglais (j'sais pas vous mais moi en français j'comprends rien aux manuels)
 
http://www.php.net/manual/en/ref.image.php

n°40031
FrCo
Posté le 15-06-2001 à 12:49:45  profilanswer
 

En fait, ce que g veux, c stocké mes images ds un repertoire, avoir un page qui genere mes images en miniature avec possibilité de les affiché en plus, et surtout, de que je met une nouvelle image ds ce repertoire, que ma page soit mise a jour automatiquement, sans que g a rajouté le lien ds ma page.
Mara's dad, ce que tu as fait a l'air de ce rapproché enormement a ce que je fais, donc cela m'interresse bcp, je t'envoie un mail se soir, ou demain, qd mon serveur sera reoperationel, car la je suis au taff :)
Sinon, merci deja pour c reponses :)
Si vous avez d'autres solutions, n'hesitér pas.

n°40050
Mara's dad
Yes I can !
Posté le 15-06-2001 à 13:46:53  profilanswer
 

duch, c'est bon, j'ai fais des test, c'est OK !
shinji, je poste des exemples simplifiés de mes scripts se soir. J'suis au taff, et y nous ont coupé le FTP :-( donc j'ai pas les sources sous la main !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°40072
Mara's dad
Yes I can !
Posté le 15-06-2001 à 14:35:09  profilanswer
 

Bon allez, un petit exemple mais sans thumnails.

Code :
  1. <?php
  2. /*
  3. CE SCRIPT AFFICHE LES FICHIERS .GIF DU REPERTOIRE COURRANT DANS UN TABLEAU HTML DE 4 LIGNES
  4. CHAQUE IMAGE EST UN LIEN VERS ELLE-MEME !
  5. */
  6. // Déclaration du tableau des images.
  7. $img = array();
  8. // Ouverture du répertoire courrant
  9. $handle=opendir('.');
  10. // Tant qu'il y a des fichiers dans le répertoire
  11. while ($file = readdir($handle)) {
  12. // Si l'extention du fichier est .gif
  13. if ( strrchr( $file, "." ) == ".gif" )
  14. {
  15.  // Ajoute le nom du fichier image dans le tableau
  16.         $img[] = "$file";
  17. }
  18. }
  19. // Fermeture du répertoire
  20. closedir($handle);
  21. // Déclaration d'un tableau HTML
  22. echo( "<center>\n<table border=0 cellspacing=0 cellpadding=15>\n" );
  23. // $j est un indice utilisé pour savoir quand changer de ligne
  24. $j = 0;
  25. // Boucle sur les images du tableau
  26. for( $i=0; $i < sizeof( $img ); $i++ )
  27. {
  28. // Si $j est = 0, on ouvre une ligne du tableau HTML
  29. if ( $j == 0 )
  30. {
  31.  echo( "\t<tr>\n" );
  32. }
  33. // Affichage de l'image avec un lien
  34. echo( "\t\t<td><a href='" . $img[$i] . "'><img src='" . $img[$i] . "'></a></td>\n" );
  35. // Incrémentation du nombre d'image sur la ligne
  36. $j++;
  37. // Si il y a 4 images, on ferme la ligne
  38. if ( $j == 4 )
  39. {
  40.  echo( "\t</tr>\n" );
  41.  $j = 0;
  42. }
  43. }
  44. // Fermeture de la dernière ligne du tableau HTML si elle n'est pas complète
  45. if ( $j > 0 )
  46. {
  47. echo( "\t</tr>\n" );
  48. $j = 0;
  49. }
  50. // Fermeture du tableau HTML
  51. echo( "</table>\n</center>" );
  52. ?>


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°40073
shinji
Posté le 15-06-2001 à 14:35:16  profilanswer
 

Merci, oh merci

n°40080
Mara's dad
Yes I can !
Posté le 15-06-2001 à 14:46:52  profilanswer
 

Et un exemple pour générer un thumbnail:
 

Code :
  1. <?php
  2. // Réupération de la taille de l'image ventilo.jpg
  3. // $size[0] = largeur
  4. // $size[1] = hauter
  5. $size = GetImageSize("ventilo.jpg" );
  6. // Calcul d'un taux de resize sachant que je veut un thumbnail de 100 de haut
  7. $taux = $size[1] / 100;
  8. // Calcul de la largeur du thumbnail
  9. $w = floor($size[0] / $taux);
  10. // Création d'une ressource image pour le thumbnail.
  11. $dst=imagecreate( $w, 100);
  12. // Création d'une ressource image de ventillo.jpg
  13. $src=imagecreatefromjpeg( "ventilo.jpg" );
  14. // Copy de $src dans $dst avec resize
  15. imagecopyresized($dst, $src, 0, 0, 0, 0, $w, 109, $size[0], $size[1]);
  16. // Ecriture de $dst vers un fichier ventilo.png
  17. imagepng($dst, "ventilo.png" );
  18. ?>
  19. // Affichage du thumbnail avec un lien vers l'image jpg
  20. <a href="ventilo.jpg"><img src="ventilo.png"></a>


 
C'est t'y pas gentil tout plein çà !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°40083
Lord II
PIB2000
Posté le 15-06-2001 à 14:52:23  profilanswer
 

Je te donne ma technique qui me semble utile et très simple.. ( pas de code mais ce n'est pas le plus dur )
 
Structure du site :
 
RACINE
-->gallerie.php
-->view.php
-->Gallerie1
----->thumb
 
donc j'ai un fichier à la racine du site qui recoit un repertoire et un titre d'album en paramètres.
 
Ce script parcourt le répertoire et en extrait tous les noms d'images.
 
Ensuite il crée un tableau html et y insere les images. Ces images sont en fait les miniatures des grosses ( les miniatures portent le même nom) et sont prises dans le repertoire thumb du repertoire parcouru.
 
Un lien est fait vers les images du repertoire et sont affiché grace au script view.
 
 
Les avantages de cette techniques sont multiples :  
 
-On ne change que le menu du site ( qui dans mon cas est un fichier inclus),
-On upload que le repertoire ajouté et le menu,
-La mise à jour est ainsi très rapide.
 
Inconvénients : je ne vois pas !!

 

[edit]--Message édité par lord ii--[/edit]


---------------
La bave du crapaud n'empèche pas la caravane de passer .
n°40096
shinji
Posté le 15-06-2001 à 15:09:27  profilanswer
 

Est-ce que c'est possible de générer une image dynamique (ça j'y arrive) et sans la stocker sur le dur, l'incorporer à une page HTML avec un tableau par exemple?

n°40112
Mara's dad
Yes I can !
Posté le 15-06-2001 à 15:25:09  profilanswer
 

shinji a écrit a écrit :

Est-ce que c'est possible de générer une image dynamique (ça j'y arrive) et sans la stocker sur le dur, l'incorporer à une page HTML avec un tableau par exemple?




Code de la page principale :

Code :
  1. <!-- Affichage du thumbnail avec un lien vers l'image jpg -->
  2. <a href="ventilo.jpg"><img src="makeimg.php?image=ventilo.jpg"></a>


Dans ce code, <img src=makeimg.php?image=ventilo.jpg>,l'immage à afficher n'éxiste pas, elle est générée dynamiquement par makeimg.php avec le code suivant :

Code :
  1. <?php
  2. // Réupération de la taille de l'image $image passé en paramètre
  3. // $size[0] = largeur
  4. // $size[1] = hauter
  5. $size = GetImageSize($image);
  6. // Calcul d'un taux de resize sachant que je veut un thumbnail de 100 de haut
  7. $taux = $size[1] / 100;
  8. // Calcul de la largeur du thumbnail
  9. $w = floor($size[0] / $taux);
  10. // Création d'une ressource image pour le thumbnail.
  11. $dst=imagecreate( $w, 100);
  12. // Création d'une ressource image de $image
  13. $src=imagecreatefromjpeg($image);
  14. // Copy de $src dans $dst avec resize
  15. imagecopyresized($dst, $src, 0, 0, 0, 0, $w, 109, $size[0], $size[1]);
  16. // Ecriture de $dst vers le navigateur !
  17. imagepng($dst);
  18. ?>


 
Et le tour est joué !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°40130
shinji
Posté le 15-06-2001 à 15:56:33  profilanswer
 

ouais mais ça c'est pas juste un lien sur une page et qd tu cliques t'as une autre page avec l'image générée?
Moi je voudrais générer une image et avoir des trucs html sur la même page?

n°40141
Mara's dad
Yes I can !
Posté le 15-06-2001 à 16:10:13  profilanswer
 

Dans une page html avec du code comme çà :
<img src="image.jpg">
Que ce passe t-il ?
 
Le navigateur charge la page HTML, et tombe sur une ressource de type image qu'il doit aller chercher à l'adresse donnée dans src=
A ce moment, il fait une requette HTTP vers le serveur en lui demandant: Donne moi un truc nomé image.jpg ! Le serveur ouvre le fichier chez lui et l'envoie au navigateur qui l'affiche comme une image.
 
Dans le cas :
<img src="makeimg.php?image=ventilo.jpg">
 
C'est pareil, le navigateur fait une requette HTTP vers le serveur en lui demandant: Donne moi un truc nomé makeimg.php?image=ventilo.jpg ! Le serveur à qui on demande un fichier php, refile la tâche au moteur PHP qui fait son boulôt et renvoie le résultat au verveur qui lui l'envoie au navigateur qui l'affiche comme une image car c'est en une !
 
Ce que fait makeimg.php, c'est ouvrir un fichier image dont le nom est passé en paramètre, réduire sa taille, et envoyer le résultat (qui est une image).
 
Si c'est pas clair, demande précisement ce que tu veut faire.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°40151
shinji
Posté le 15-06-2001 à 16:24:42  profilanswer
 

a ouais ok, j'ai compris, désolé. En fait j'ai généré des images en PHP mais je connais pas bcp en HTML et autres, MERCI

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [PHP] tite question.

 

Sujets relatifs
Pb de fichier avec formulaire PHP Javascript[PHP] Variables d'environnement
[PHP] Sauvegarder une page internet sur son disque en local[PHP] mail
(PHP) comment executer une fonction PHP stockee dans une variable?????[PHP] benchmarks
[PHP]Attention, question qui fait mal au crâne ! C++, API Win32
[BIBLIOLINK PHP]Je veux me mettre au PHP ... pourriez vous m'aider / me conseiller
Plus de sujets relatifs à : [PHP] tite question.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR