Une image au hasard parmi toutes les images d'un répertoires php/javascript

Soyez le premier à donner votre avis sur cette source.

Snippet vu 12 566 fois - Téléchargée 28 fois

Contenu du snippet

se code explore le dossier choisie (dossier comtenant les images) puit dresse une listes des fichiers ayant l'extention gif jpg, png, bmp (donc des images) dans le dossier puis combiner au javascript il affichie une image au hasard

Source / Exemple :


<?php

$nb_T = 0;

$opdir = opendir("./img/");
while ($T = readdir($opdir)) 
{
   if (!is_dir($T)) $nb_T++;
}

closedir($opdir);

?>
<script language='javascript'>
function alleatoire() {

// le nombre suivant correspond au nombre d'images total répertorier dans le répertoire
var nombre_images = <?=$nb_T?>;

// on demande un nombre alleatoire a l'ordinateur
var nombre_alleatoire = Math.random();
var numero = Math.round( ( nombre_images - 1 ) * nombre_alleatoire ) + 1;

images = new Array;

<?php
	
function trouverExt ($fichier)
   {
   // coupe le nom du fichier 
   $tableau = explode(".",$fichier);   
   
   // retourne les caractere apres le dernier .
   return $tableau[count($tableau)-1];
   }

	// open directory
	$myDirectory = dir("./img/");
			$nb_T = 1;
	// get each entry
	while($entryName = $myDirectory->read())
	{
	if($entryName  != '.')
	{
	if($entryName  != '..')
	{
	if($entryName  != 'thumbs.db')
	{
	if (!is_dir($entryName))
	{
	$extention = trouverExt($entryName);
	
	if($extention = 'gif' or $extention = 'jpg' or $extention = 'bmp' or $extention = 'png'){
	{
	
			print("images[$nb_T] = '$entryName';");
			$nb_T++;

	
	}
	}
	}
	}
	}
	}
	}
	// close directory
	$myDirectory->close();

?>

var image = images[numero];

document.write("<img src='./img/" + image + "'>");
}

alleatoire();
</script>

Conclusion :


merci de bien vouloir m'indiquer les bug éventuelle

la fonction trouveExt() n'est pas de moi, merci a romuluslepunk pour cette fonction

A voir également

Ajouter un commentaire

Commentaires

Commenter la réponse de stroubinou

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.