Défilement de photos [Résolu]

Messages postés
345
Date d'inscription
lundi 15 mars 2004
Dernière intervention
13 mai 2011
- - Dernière réponse : cs_sjon
Messages postés
861
Date d'inscription
mardi 26 mars 2002
Dernière intervention
29 novembre 2006
- 4 juil. 2005 à 18:54
Bonjour a tous !!!



Voici mon problème. Je suis en train de faire une galerie de photos. J'ai donc fais ce code :

<form method=\"POST\">

<SCRIPT language=\"JavaScript\">

var photos=new Array()

var cpt=0

</script>

<?php

$files = array();

$ssrep = \"photos/$_GET[albums]\";

chdir($ssrep);

$rep = getcwd();

$handle = opendir($rep);

$cpt = 0;

while($file = readdir($handle))

{

if(($file != \".\") && ($file != \"..\"))

{?>

<SCRIPT language=\"JavaScript\">

photos[cpt] = $rep/$file

cpt++

</SCRIPT>

<?

}

}

?>

<script language = 'javascript'>

function precedent()

{

if (cpt>0)

{

cpt--

document.images.slide.src=photos[cpt];

}

}

function suivant()

{

if (cpt

<center>

----

,

----

> " onClick="suivant()">

</form>




Le problème que j'ai est que le défilement ne se fait pas !!!! Je pense
que l'erreur est dans la boucle et comme vous pouvez ll voir avec ce
code ,
j'essais d'afficher la premiere photo du répertoire mais cela n'affiche
rien.



Merci de votre aide :)
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
Messages postés
345
Date d'inscription
lundi 15 mars 2004
Dernière intervention
13 mai 2011
3
Merci
Voici un code qui fonctionne enfin :

<?php
$rep = $_GET['albums'];
$dossier='photos/'.$rep.'/'; // Dossier des images

$lst=Array();


if($handle=@opendir($dossier))
while(($file=@readdir($handle))!==false)
if(!@is_dir($file) && $file!='..'){
$infos=@getimagesize($dossier.$file);
if($infos[2]==1) $tm='Gif';else
if($infos[2]==2) $tm='Jpeg';else
if($infos[2]==3) $tm='Png';else
if($infos[2]==6) $tm='Bmp';else $tm='';
if(!empty($tm))
$lst[]=$dossier.$file;
}
@closedir($handle);
$cnt=count($lst);

echo '<script>'.
'var cnt='.$cnt.';'.
'var tab=new Array();';
for($x=0;$x<$cnt;$x++)
echo 'tab['.$x.']="'.$lst[$x].'";';
echo '</script>';
?>

<script>
var index=-1;

function recule(){
index=index-1;
if(index<0) index=(cnt-1);
document.ima1.src=tab[index];
}
function avance(){
index=index+1;
if(index>=cnt) index=0;
document.ima1.src=tab[index];
}
</script>

" onclick="avance();"/>



<script>avance();</script>

Merci cs_piep14 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 100 internautes ce mois-ci

Commenter la réponse de cs_piep14
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Dernière intervention
30 juillet 2012
0
Merci
{?>

<SCRIPT language="JavaScript">

photos[cpt] = $rep/$file

cpt++

</SCRIPT>

<?



est à remplacer par :



{

echo '

<script type="text/javascript">

photos[cpt] = '.$rep.'/'.$file.';

cpt++;

</script>

';




et si possible, tu pourrais éviter de produire de multiples ouvertures fermetures de balises javascript...




In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Commenter la réponse de coucou747
Messages postés
345
Date d'inscription
lundi 15 mars 2004
Dernière intervention
13 mai 2011
0
Merci
Si ne fonctionne pas plus :'(

Donc je regarde le code source généré et je vois ceci :



<script type="text/javascript">
photos[cpt] = '.c:\program files\easyphp1-7\www\photos\Soirée Open Bar.'/'.DSCN1389.JPG.';
cpt++;

Donc on a bien l'adresse de l'image mais j'ai l'impression que le tableau n'est pas pas implémenté !!
Merci de m'aiguiller car je ne sais pas le faire !!

Et si je veux rappeler ma première photo ? Merci
</script>
Commenter la réponse de cs_piep14
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Dernière intervention
30 juillet 2012
0
Merci
quel est le message d'erreur ?

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Commenter la réponse de coucou747
Messages postés
345
Date d'inscription
lundi 15 mars 2004
Dernière intervention
13 mai 2011
0
Merci
Bah, je n'ai pas de message d'erreur. Je vois dejà pas ma premiere image du répertoire puis quand je clique sur suivant, je ne vois rien non plus !!!
Comme je l'ai montré précédemment par le code source, il doit y avoir un problème d'interprétation car le cpt n'est pas bien créé !!!

Merci
Commenter la réponse de cs_piep14
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Dernière intervention
30 juillet 2012
0
Merci
change ceci :

$rep = getcwd();

par ceci :

$re='./'


In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Commenter la réponse de coucou747
Messages postés
345
Date d'inscription
lundi 15 mars 2004
Dernière intervention
13 mai 2011
0
Merci
Cela n'est pas le problème à mon avis car avant de faire la boucle while, j'avais testé en faisant directement dans le code :

photos[0]="photos/Soirée Open Bar/DSCN1387.JPG"
photos[1]="photos/Soirée Open Bar/DSCN1388.JPG"
photos[2]="photos/Soirée Open Bar/DSCN1389.JPG"

Et cela fonctionné très bien .... Mais je vais essayer quand meme ! Si tu as d'autres idées :)
Commenter la réponse de cs_piep14
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Dernière intervention
30 juillet 2012
0
Merci
tu auras un code qui resembleras à ça ensuite...

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Commenter la réponse de coucou747
Messages postés
345
Date d'inscription
lundi 15 mars 2004
Dernière intervention
13 mai 2011
0
Merci
J'ai tester comme tu as dis précédemment mais cela ne change rien comme je le pensais malheureusement !!! Je suis a cours d'idée, ca fait deux jours que je cherche en vain !!!!
Commenter la réponse de cs_piep14
Messages postés
861
Date d'inscription
mardi 26 mars 2002
Dernière intervention
29 novembre 2006
0
Merci
Sael og blesud



Vous pouvez essayer ceci :



<?php

$photos='';

if(isset($_GET['album'])){

$rep="photos/".$_GET['album'];

}

if (is_dir($rep)) {

if ($handle = opendir($rep)) {

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

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


$photos.="'".$rep."/".addslashes($file)."',";

}

}

closedir($handle);

}

}

$photos=substr($photos,0,strlen($photos)-1);

echo ('

<script type="text/javascript">

var photos=new Array ('.$photos.');

var cpt=0;

function precedent(){

if (cpt>0){

cpt--;

document.images.slide.src=photos[cpt];

}

}

function suivant(){

if (cpt

');

?>

<script type="text/javascript">

document.write('');

</script>,

----

> " onClick="suivant()">




Bon courage ...


NB : Si la réponse vous convient merci de l'accepter pour fermer ce thread ...



Sigurjón Bírgir Sigurðssón aka Sjón



A grey suit is never so grey as on a sunny day ...
Commenter la réponse de cs_sjon

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.