Teclis01
Messages postés1423Date d'inscriptionmardi 14 décembre 2004StatutMembreDernière intervention29 décembre 2012
-
2 mars 2006 à 01:24
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 2010
-
2 mars 2006 à 11:26
Voila il y a peu j'ai cherché une source qui permettait d'afficher avec une temporisation des images. J'ai donc cherché et trouvé ce code:
<html>
<head>
<title> Animation</title>
</head>
<!-- afficher la 1ere image -->
<script type="text/javascript">
<!--
// tableau de toute la sequence
var b = new Array();
b[0] = new Image(); b[0].src = "./img/01.jpg";
b[1] = new Image(); b[1].src = "./img/02.png";
b[2] = new Image(); b[2].src = "./img/03.jpg";
b[3] = new Image(); b[3].src = "./img/04.jpg";
var i = 0;
function Animation()
{
if(i > 3) i = 0;
document.images[0].src = b[i].src;
i = i + 1;
window.setTimeout("Animation()",2000);
//On affiche chaque image pendant 2s
}
document.images[0].src = b[0].src;
window.setTimeout("Animation()",2000);
//-->
</script>
</html>
mais je me suis dit que au lieu de modifier a chaque fois le fichier pour ajouter des images, j allais creer un petit script en php qui referait tout le code selon le nombre d images... donc je fais mon script mais ca ne marche pas et je vois pas pq car les sources sont similaires a l 'arrivée a part la disposition ou qqch qui m aurait échapé...
<?php
require_once ('./include/config.php');
/*config.php
$dir_directory="./img/";
$file="anim.html";
*/
echo "<center>Mise à jour des images</center>";
echo "<form method="post" action="creanim.php">";
$newcontent='';
if(is_dir ($dir_directory)){
$d = opendir($dir_directory);
while ($entry = readdir($d)){
if($entry != '..' && $entry !='.' && $entry!='Thumbs.db'){
$handle = fopen($file,'w+');
$newcontent=$newcontent.$entry.'~';
}
}
echo $newcontent.'
';
$contentexplode=explode('~',$newcontent);
echo $nbpics=count($contentexplode)-1;
echo "
";
fputs($handle, "<html><head></head><!-- afficher la 1ere image --><script type="text/javascript"><!--var b = new Array(); ");
for($i=0;$i<=$nbpics-1;$i++){
$pic=$dir_directory.$contentexplode[$i];
fputs($handle,"b[$i] = new Image(); b[$i].src = "$pic"; ");
} fputs($handle,"var i 0; function Animation() { if(i > $nbpics) i0; document.images[0].src=b[i].src; i=i+1; window.setTimeout("Animation()",2000); } document.images[0].src = b[0].src; window.setTimeout("Animation()",2000); //--></script></html>");
fclose($handle);
}
echo "</form>";
?>
Si qqun sait pourquoi ça ne fonctionne pas je suis preneur !
Merci!!!
-------------------------------------------------------------------------------------------------------
Il vaut mieux poser une question et passer pour bête que le rester toute sa vie
Teclis01
Messages postés1423Date d'inscriptionmardi 14 décembre 2004StatutMembreDernière intervention29 décembre 20124 2 mars 2006 à 01:25
juste une chose ... j ai laissé les balises form car je pensais en faire un formulaire pour le lancer par la suite mais ce n'est pas fait!
-------------------------------------------------------------------------------------------------------
Il vaut mieux poser une question et passer pour bête que le rester toute sa vie
Teclis01
Messages postés1423Date d'inscriptionmardi 14 décembre 2004StatutMembreDernière intervention29 décembre 20124 2 mars 2006 à 11:18
Bonjour!
En fait ce que je cherche a faire :
-utiliser le php pour creer un fichier html
-ecrire dans ce fichier du code afin de creer une animation(défilement d image)
-code dépendant des images présentes dans le dossier ./img
Ce qui fonctionne:
-creation du fichier html
-ecriture de code dynamique dans le fichier
Ce qui ne marche pas :
-Après avoir ecrit le code (qui depend du nombre d images et de leurs noms) le code semble juste (comme dans l exemple cité en premier) néanmois aucune image ne s'affiche. Lorsque j edite le fichier, le code ainsi créé tient en une ligne et lorque je remet en forme cette ligne (pour plus de lisibilité en appuyant du "entrée" pour bien voir les lignes) le code refonctionne. C'est comme si mon navigateur n'arrivait pas a interpreté du code sur une ligne même si il est correct. A moins que ca vienne d'autre chose mais je ne comprend pas.
Si qqun veut essayer ce script, il suffit de creer un dossier img a coté du script avec des images dedans et de lancer le script.
-------------------------------------------------------------------------------------------------------
Il vaut mieux poser une question et passer pour bête que le rester toute sa vie