[photo] comment faire un slideshow du type de darty !

floxone Messages postés 88 Date d'inscription mardi 19 avril 2005 Statut Membre Dernière intervention 10 août 2007 - 19 avril 2005 à 15:22
floxone Messages postés 88 Date d'inscription mardi 19 avril 2005 Statut Membre Dernière intervention 10 août 2007 - 20 avril 2005 à 11:03
salut, salut,

Je vous explique mon problème :

Ca fait un moment que je navigue sur le web pour trouver un script simple et efficace, mais surtout très clair pour réaliser ma petite tache...
Voila, je possede des photos dans un repertoire. Elles sont nommées du type : identifiant1_1.jpg, identifiant1_2.gif, identifiant2_1.jpeg, identifiant3_1.jpeg ...
Et je voudrais pouvoir sortir pour ma fiche de l'identifiant1 toutes ces photos (uniquement celles prefixée par identifiant1, passé en paramètre §identity) et naviguer grace a des boutons suivants et precedents entre les photos (pareil a la pop up de darty pour les photos quand il y en a plusieures.

Merci à tous de votre aide et en esperant ne pas etre passe a cote d un source deja etabli !

6 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
19 avril 2005 à 15:35
Hello,



ce serait plus simple avec une bdd.

Sinon, il te faut utiliser des substr() pour recuperer l'identifiant.



je ne vais pas te faire le script, mais en voici un tres mal code parce
que je viens de le pondre en 30 secondes : j'avais une serie d'images
(une centaine) sous ce format : 1_bg.gif, ..., 98_bg.gif...

dans un repertoire.

Ok ?



je devais les renommer en incrementant le chiffre contenu dans le nom.



Ebn fait ca allait de 1 a 96, et je devais avoir maintenant les memes mais de 97 a 193 (+96).



Donc :



<?php

function file_replace($dir, $dir2) {

if (is_dir($dir)) {

if ($dh = opendir($dir)) {

while (($file = readdir($dh)) !== false) {

if ($file != '.' && $file != '..')

echo 'filename: ', $file, ' & ';

$stay = substr ($file, -7);

$file2 = substr ($file, 0, strlen($file) - 7);

$file2 += 96;

$file2 .= $stay;

echo 'rename : ', $file2, '
';

rename ($dir.'/'.$file, $dir2.'/'.$file2);

}

closedir($dh);

}

}



}



$ren = file_replace ('copy', 'copy2');

?>



c'est fait vraiment a la va vite, pas optimise, pas portable...c'etait un besoin sur le coup et j'etais tres tres presse lol.



Ca devrait t'aider a comprendre deja pour recuperer une partie du fichier.

Ensuite, reste plus qu'a comparer, et a creer un menu...
0
floxone Messages postés 88 Date d'inscription mardi 19 avril 2005 Statut Membre Dernière intervention 10 août 2007
19 avril 2005 à 16:35
Merci merci,

Mais en faite, le probleme c'est que les photos n'ont pas un nombre fixe. Et tout les scripts que j'ai trouvé ne marche que de §debut a §fin. Alors, tu me diras qu'il me suffit de compter le nombre de photos avec mon prefixe... Je suis dessus... Mais surtout, c'est le truc tout bête de dire "clic" : 1 photo suivante ou précédente. Faire exactement comme la popup de darty quand il y a plusieures prises de vues. Ca doit etre tout bete, mais je suis depassé ! Faut-il rangé les noms dans un tableau ou est-ce qu'il est possible de le faire à la volée... désolé de vous déranger pour un truc qui doit être tout bête !
Mais c'est juste ca que je veux : dire je clique ici alors j'affiche la photo suivante dans la même fenêtre. Et savoir comment trouver la photo suivante (tableau ou pas tableau).
J'ai l'impression de ne pas être clair du tout....
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
19 avril 2005 à 17:00
Hello,



moi je vois un nombre fixe la : 1_1 ? 2_1 ? etc...de toute facon, identifiant lui est fixe apparemment.



Bah pour ca le mieux c'est vraiment une bdd...parce que la tu dois lire a chaque fois le nom de images, c'est un peu lourd...



Une bdd, ou un systeme de repertoires.



Sinon avec ton systeme oui, il te faut mettre les photos dans un tableau.

Je ne sais pas comment tu veux que cela fonctionne...mais bon, tu fais des categories en fonction des identifiants.

Puis tu te deplaces dans le tableau, dans son arborescence, directement.

$image[0][1]...

sur le clic, tu incrementes une variable : $incr ++; ou tu la decrementes $incr --

Tu testes que tu ne depasses pas la taille du tableau et tu affiches :

$image[$incr][0] et les autres.

C'est a dire :

foreach ($image[$incr] as $valeur)

echo '$valeur';



C'est a peu pres le principe.
0
floxone Messages postés 88 Date d'inscription mardi 19 avril 2005 Statut Membre Dernière intervention 10 août 2007
19 avril 2005 à 17:03
ok, c 'est ce que je pensait... Je me plonge dans le code !

Encore merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
19 avril 2005 à 18:06
Salut ;-)



Perso, si tu n'as pas beaucoup d'utilisateurs, je te conseille le
système de répertoires ayant le nom de l'identifiant. Si tu as beaucoup
de noms d'utilisateurs différents (pas forcément d'images), la bdd
devient plus facile d'emploi.



a ++

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
floxone Messages postés 88 Date d'inscription mardi 19 avril 2005 Statut Membre Dernière intervention 10 août 2007
20 avril 2005 à 11:03
ok, je ne suis qu au cahier des charges... Je regarde ce qu il met possible de faire. Il s'agit d'un site de voiture et les utilsateurs peuvent y deposer un nombre d image variable. Je penses effectivement que la BD peut etre une bonne solution. Mais jusqu a present, je n etais pas sûr d etre sur MySQL 4 : donc j essayais d eviter des jointures et des clefs etrangeres. C est pour cela que j essayait de voir comment fonctionner le systeme de parcours des fichiers.

Merci a vous.
0
Rejoignez-nous