Image aléatoire PHP/HTML



  • Merci de votre aide mais marche pas encore.

    J'ai cette erreur :

    L'image “http://ns4.freeheberg.com/~tt//csswarner/aleatoire.php” ne peut être affichée car elle contient des erreurs.

    Voici le code :

    <?php
    header ("Content-type: image/png");
    
    // Ouvre un dossier bien connu, et liste tous les fichiers
    $directory = 'images_evaluation_cC';
    // Définition d'$image comme tableau
    $image = array();
    	//on vérifie s’il s’agit bien d’un répertoire
    	if (is_dir($directory))
    	{
    		//on ouvre le repertoire
    		if ($dh = opendir($directory))
    		{
    			//Lit une entrée du dossier et readdir retourne le nom du fichier
    			while (($file = readdir($dh)) !== false)
    			{
    				// Vérifie de ne pas prendre en compte les dossier ...
    				if ($file != '...' && $file != '..' && $file != '.')
    				{
    					// On ajoute le nom du fichier dans le tableau
    					$image[] = $file;
    				}
    			}
    			//On ferme le repertoire
    			closedir($dh);
    			// On récupère le nombre d'image total
    			$total = count($image)-1;
    			// On prend une valeur au hasard entre 1 et le nombre total d'images
    			$aleatoire = rand(0, $total);
    			// On récupère le nom de l'image avec le chiffre hasard
    			$image_afficher = "$image[$aleatoire]";
    			// Affiche l'image du hasard :p
    			//print "<img src='$directory/$image_afficher'>";
    			readfile($directory.'/'.$image_afficher);
    			//header('Location:' .$directory .'/'. $image_afficher );
    		}
    	}
    ?>
    

    Merci d'avance



  • Bonjour,

    "
    <html>
    <HEAD>
    <TITLE>Script N° 59</TITLE>

    <SCRIPT LANGUAGE="javascript">
    <!– Hide from old browsers
    // -- Trouver sur presencenet.net -- //
    function makeArray(n) {
    this.length = n;
    for (var i=1; i<=n; i++) {
    this = "";
    }
    return this;
    }
    var i;
    function imagealeatoire() {
    i = Math.floor(7 * Math.random() + 1);
    return image
    ;
    }
    image = new makeArray(7);
    image[1]="lundi.gif";
    image[2]="mardi.gif";
    image[3]="mercredi.gif";
    image[4]="jeudi.gif";
    image[5]="vendredi.gif";
    image[6]="samedi.gif";
    image[7]="dimanche.gif";
    // Stop hiding from old browsers –>
    </SCRIPT>

    </HEAD>
    <BODY>
    <p align="center">
    <SCRIPT language="javascript">
    document.write("<IMG SRC=" +imagealeatoire() +" WIDTH=200 HEIGHT=30 BORDER=0>");
    </SCRIPT>
    <FORM>
    <p align="center">
    <INPUT onclick=history.go(0) type=button value="Actualiser">
    </p>
    </FORM>
    </p>

    </BODY>

    </HTML> "

    Presencenet

    Ton image changera a chaque chargement ;)

    BeraXx__



  • pensez à utiliser les balise "code" ;)



  • Perso ce que je comprend pas c'est pq tu veux passer par un fichier html alors que tu peux afficher ton image directement via ton script PHP.

    La solution serait pas plus simple ainsi?



  • Note au passage qu'une balise écrite en majuscule n'est pas valide aux normes W3C ;)



  • Bah ouai le passé en HTML sert un peu à rien. Sinon, fait avec l'url rewriting



  • Mes tous ces citations est tous ces codes on doit les mètre ou dans le PhpMyAdmin ?



  • [MODERATION ON]
    bon tu me ressort encore une seul fois ton histoire de phpmyadmin en HS dans un autre topic que le tient et ça va mal finir pour toi …



  • Je comprend pas pourquoi vous vous compliquez la vie pour afficher des images aléatoirement …

    <?php
    $max      = 8; //nombre d'images totale dans ton répertoire.
    $i          = mt_rand(1, $max); //on sélectionne au pif
    $ext      = 'jpg'; //extension de tes images.
    $images = 'images'; //répertoires des images
    
    echo '<img src="images/',$a,'',$i,'.',$ext,'">';
    // tpl->assign('images', '<img src="images/',$a,'',$i,'.',$ext,''); Si tu passe via moteur tpl
    ?>
    
    

    le seul inconveignant est qu'il faut que tu renomme tes images en '1.jpg' '2.jpg' etc … après j'ai mit les variables pour régler.



  • ProPheT il est louche ton code php quand même
    Les remontes de post ne servent a rien (2eme fois)

    Pour ce qui des images aléatoires quand les gens disent sa il pense plutôt a un défilement où il décide les images. Par exemple : 1.jpg puis 2.jpg..etc
    M'enfin après je sait pas ce qu'il voulait exactement mais ton idée est pas mal.

    echo '<img src="images/',$a,'',$i,'.',$ext,'">';
    ```Gad Oo ? la variable $a ne contient rien, pourquoi tu met dans une variables le répertoire des images si tu ne l'utilise pas ? M'enfin j'ai "corrigé" ton code car je le trouve bien louche
    

    echo '<img src="'.$images.'/'.$i.'.'.$ext.'">';



  • pour $a oui je me suis trompé désolé j'était en train de pensé à un autre truc …

    Mais sinon remplacer les virgules par des points, c'est pas bien ... enfin après je vais apprendre à coder, mais on ne concatène pas avec des dot dans des simple quotes !

    Optimisation est le maître mot :)

    Donc rechange les . en , stp ... essaye chez toi si tu me croit pas :)



  • Sérieusement je ne préfère même pas répondre a ton post ;)



  • :p je voit pas pourquoi mais bon :kcpc



  • Parceque sa va engagé un débat de 4 pages qui ne sert vraiment a rien surtout sur ce topic (qui n'aurait pas du être remonté d'ailleurs :p )
    Donc je te propose de ne plus répondre pour ne pas pollué d'avantage ^_^



  • @Game-War:

    Sérieusement je ne préfère même pas répondre a ton post ;)

    pour les virgules, regarde par ici : 4e quote :
    viewtopic.php?f=16&t=54


Se connecter pour répondre
 

Il semble que votre connexion ait été perdue, veuillez patienter pendant que nous vous re-connectons.