Défilement de photos [Résolu]

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

10 réponses

Répondre au sujet
cs_piep14 345 Messages postés lundi 15 mars 2004Date d'inscription 13 mai 2011 Dernière intervention - 4 juil. 2005 à 17:51
+3
Utile
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>
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_piep14
coucou747 12336 Messages postés mardi 10 février 2004Date d'inscription 30 juillet 2012 Dernière intervention - 4 juil. 2005 à 16:28
0
Utile
{?>

<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
cs_piep14 345 Messages postés lundi 15 mars 2004Date d'inscription 13 mai 2011 Dernière intervention - 4 juil. 2005 à 16:45
0
Utile
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
coucou747 12336 Messages postés mardi 10 février 2004Date d'inscription 30 juillet 2012 Dernière intervention - 4 juil. 2005 à 16:58
0
Utile
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
cs_piep14 345 Messages postés lundi 15 mars 2004Date d'inscription 13 mai 2011 Dernière intervention - 4 juil. 2005 à 17:04
0
Utile
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
coucou747 12336 Messages postés mardi 10 février 2004Date d'inscription 30 juillet 2012 Dernière intervention - 4 juil. 2005 à 17:20
0
Utile
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
cs_piep14 345 Messages postés lundi 15 mars 2004Date d'inscription 13 mai 2011 Dernière intervention - 4 juil. 2005 à 17:27
0
Utile
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
coucou747 12336 Messages postés mardi 10 février 2004Date d'inscription 30 juillet 2012 Dernière intervention - 4 juil. 2005 à 17:35
0
Utile
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
cs_piep14 345 Messages postés lundi 15 mars 2004Date d'inscription 13 mai 2011 Dernière intervention - 4 juil. 2005 à 17:39
0
Utile
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
cs_sjon 861 Messages postés mardi 26 mars 2002Date d'inscription 29 novembre 2006 Dernière intervention - 4 juil. 2005 à 18:54
0
Utile
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.