Sujet: Besoin de code PHP
09/05/2006 @ 14:21:36: Clandestino: Besoin de code PHP
Bon, on va essayer de faire simple :tongue:

Je me débrouille pas trop mal en vbscript classic ou .net, mais je suis un vrai manche en PHP. Je n'ai pas envie de me taper l'apprentissage complet (du moins, pas pour l'instant), mais j'aurais besoin d'un petit bout de code qui doit être tout con à pondre pour les pointures telles que celles qui hantent ce forum :grin:

Voilà le problème : j'ai une série de folders (/p/folder_1, /p/folder_2, ..., /p/folder_n), chacun contenant deux sous-répertoires ("l" et "s"). Ces répertoires stockent des images ("l" les versions "larges" en JPG et "s" les miniatures en GIF).

Il me faudrait une fonction que je pourrait appeller en passant le nom d'un répertoire générique en argument, par exemple :
<?php mafonction("folder_n"); ?>


Cette fonction retournerait un bloc HTML composé d'autant de lignes qu'il y aurait d'images dans le sous-répertoire "l" correspondant. Chaque ligne du bloc retourné devrait ressembler à ceci:

<a href="/p/folder_n/l/imgxxx.jpg" rel="lightbox[folder_n]"><img src="/p/folder_n/s/imgxxx.gif" border="0"></a>


Vous aurez compris que le but avoué est d'automatiser la création de galleries de miniatures. D'avance merci... Toute aide est bienvenue.
09/05/2006 @ 14:29:37: Jean-Christophe: Besoin de code PHP
Est ce que tu n'es pas en contact avce plein d'agences de web design etc? :siffle:
09/05/2006 @ 14:39:37: Clandestino: Besoin de code PHP
:rofl:

Oui, mais bon... Je sais qu'ici j'aurai ça rapidos et bien ficelé :lol:
09/05/2006 @ 15:47:13: zion: Besoin de code PHP
Fait on the fly sur le forum, pas testé bug proof (tm) :oh:

  1. function mafonction($folder
  2.  foreach (glob("/p/$folder/s/*"as $filename)  
  3.     echo("<a href='/p/$folder/l/$filename' rel='lightbox[folder_n]'><img src='/p/$folder/s/$filename' border='0'></a> "); 
  4. }


Mais c'est considérant que s et l ait le même nom évidemment :oh:
Et euh... pas testé hein :tinostar:
09/05/2006 @ 15:52:16: gizmo: Besoin de code PHP
Sinon y a ZenPhoto qui fonctionne aussi très bien, hein. Pas besoin de toujours réinventer la roue :oh:
09/05/2006 @ 15:57:51: Clandestino: Besoin de code PHP
Super, merci ! Si c'est pas trop demander, il faudrait juste modifier la partie "<a href='/p/$folder/l/$filename'>" pour que l'extention passe de ".gif" en ".jpg"
09/05/2006 @ 16:01:46: zion: Besoin de code PHP
  1. function mafonction($folder
  2.  foreach (glob("/p/$folder/s/*"as $filename)  
  3.     echo("<a href='/p/$folder/l/".str_replace(".gif",".jpg",$filename)."' rel='lightbox[folder_n]'><img src='/p/$folder/s/$filename' border='0'></a> "); 
  4. }
09/05/2006 @ 16:14:12: Clandestino: Besoin de code PHP
Marche pô :alarmclock118:

C'est censé nécéssiter qq chose de spécial, glob()?
09/05/2006 @ 16:15:29: ovh: Besoin de code PHP
Ben merde alors :eek:

Je ne connaissais pas cette fonction glob, moi qui m'étais cassé la tête un jour avec des opendir(), readdir() et tout ça :kiki:

Heureusement qu'il y a Findus ! Euh le Roy :tinostar:
:prosterne:
09/05/2006 @ 16:15:55: ovh: Besoin de code PHP

Et si tu nous disais le message d'erreur ou le comportement du script pour nous mettre sur la voie ? :itm:
09/05/2006 @ 16:17:08: Clandestino: Besoin de code PHP
Aucun message d'erreur... Ca fait rien, c'est tout !

  1. <? function tlist($folder) {  
  2. foreach (glob("/p/$folder/s/*"as $filename)   
  3. echo("<a href='/p/$folder/l/".str_replace(".gif",".jpg",$filename)."' rel='lightbox[$folder]'><img src='/p/$folder/s/$filename' border='0'></a> "); 
  4.      } 
  5. ?> 
  6. <? tlist('20060507_lasne'); ?>


Qu'est-ce que j'ai merdé, là-dedans ?
09/05/2006 @ 16:18:51: ovh: Besoin de code PHP
OK il ne trouve pas le répertoire.

Essaie glob("p/$folder/s/*") (supprimer le 1er / donc)
09/05/2006 @ 16:19:01: zion: Besoin de code PHP
Et ca affiche qqchose? :oh:
09/05/2006 @ 16:27:12: Clandestino: Besoin de code PHP
Ca marche :
  1. <? function tlist($folder) {  
  2. foreach (glob("$folder/s/*"as $filename)   
  3. echo("<a href='".str_replace(".gif",".jpg",str_replace("/s/","/l/",$filename))."' rel='lightbox[$folder]'><img src='$filename' border='0'></a> "); 
  4.      } 
  5. ?> 
  6. <? tlist('20060507_lasne'); ?>

09/05/2006 @ 16:38:44: Clandestino: Besoin de code PHP
Dernière question : comment fait-on pour récupérer les paramètres dans une URL (style: mapage.php?folder=20060507_lasne => récupérer la valeur de 'folder') ?
09/05/2006 @ 16:40:38: Altar: Besoin de code PHP
Si c'est dans l'url alors c'est la méthode get donc : $_GET["nom de la variable"].
09/05/2006 @ 17:10:06: Clandestino: Besoin de code PHP
Impec', j'ai mon premier script PHP :lol:

  1. <? function tlist($folder) {  
  2. foreach (glob("$folder/s/*"as $filename)   
  3. echo("<a href='".str_replace(".gif",".jpg",str_replace("/s/","/l/",$filename))."' rel='lightbox[$folder]'><img src='$filename' border='0'></a> "); 
  4.      } 
  5. function alist() { 
  6. $folder = "g/a/*"
  7. foreach (glob("$folder"as $filename
  8. echo("<a href='t.php?folder=".str_replace(".gif","",str_replace("g/a/","",$filename))."'><img src='$filename' border='0'></a><br />"); 
  9. $param = $_GET[folder]; 
  10. if($param != "") { 
  11. echo("<p><b>Folder: </b>".$param."</p>"); 
  12. tlist($param); 
  13. else { 
  14. echo("<p>Aucun paramètre!</p>"); 
  15. alist(); 
  16. ?>


Reste plus qu'à habiller... Encore merci !
09/05/2006 @ 17:18:58: Clandestino: Besoin de code PHP
Habillage pratiquement fini : http://alagem.be/p/t.php
09/05/2006 @ 17:23:26: Jean-Christophe: Besoin de code PHP
C'est jouli :smile:
09/05/2006 @ 17:26:09: Clandestino: Besoin de code PHP
Faudrait encore que sur la page principale, je trouve le moyen de lire le contenu d'un fichier "description.txt" qui se trouverait à la racine de chaque gallerie et de l'afficher à côté de la miniature qui illustre telle ou telle série... Une idée ?
Retour