Défilement de photos

Résolu
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011 - 4 juil. 2005 à 16:10
cs_sjon Messages postés 861 Date d'inscription mardi 26 mars 2002 Statut Membre 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 :)

10 réponses

cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011
4 juil. 2005 à 17:51
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>
3
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
4 juil. 2005 à 16:28
{?>

<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
0
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011
4 juil. 2005 à 16:45
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>
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
4 juil. 2005 à 16:58
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
0

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

Posez votre question
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011
4 juil. 2005 à 17:04
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
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
4 juil. 2005 à 17:20
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
0
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011
4 juil. 2005 à 17:27
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 :)
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
4 juil. 2005 à 17:35
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
0
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011
4 juil. 2005 à 17:39
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 !!!!
0
cs_sjon Messages postés 861 Date d'inscription mardi 26 mars 2002 Statut Membre Dernière intervention 29 novembre 2006 1
4 juil. 2005 à 18:54
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 ...
0
Rejoignez-nous