1

Ne peut-on afficher une image aléatoire, ou plus simplement reportée depuis une page php, du genre random.php ? pourtant les imgs tirées de Mirari s'affichent correctement.

Pour info j'ai utilisé ce code tiré de phpSources :

<?
/*
+----------------+
| Configuration |
+----------------+
*/

$imgpath = ""; // chemins des images
$textalter = "image aleatoire"; // texte alternative de l'image (attribut alt)

/*
+--------------+
| Programme |
+--------------+
*/

$nodir = 0;
if ($imgpath == ".." || $imgpath == "." || $imgpath == "")
{
        $nodir = 1;
        $imgpath = ".";
}

$j = strlen($imgpath);
$j--;
if ($imgpath[$j] != '/' && $imgpath != ".")
        $imgpath .= '/';

if (is_dir($imgpath))
{

        if ($condir = opendir($imgpath))
        {
                $i = 0;
                while (($curfile = readdir($condir)) != false)
                {
                        $extension = "";
                        $extension = preg_replace("/.+\.(.{3,4})/", "$1", $curfile);
                        if ($extension == "png" || $extension == "gif" || $extension == "bmp" || $extension == "jpg" || $extension == "jpeg")
                        {
                                $i++;
                                $images{$i} = $curfile;
                        }
                }

                if ($images{1} == "")
                {
                        echo "Aucunes images dans le dossier !";
                }
                else
                {
                        $i = rand(1, $i);
                        $image = $images{$i};
                        echo "<img src=\"";
                        if ($nodir != 1)
                                echo $imgpath;
                        echo "".$image."\" alt=\"".$textalter."\" />";
                }
        }
        else
        {
                echo "Impossible d'ouvrir le dossier d'image !";
        }
}
else
{
        echo "Le répertoire d'images spécifié est incorrect !";
}
?>
avatar
« Nous avons propagé sur Extranet une histoire fabriquée de toutes pièces selon laquelle une certaine disposition d'étoiles, vue depuis la planète d'origine des butariens, formaient le visage d'une déesse galarienne.
Sans chercher à vérifier ces informations, certains ont décrété que c'était la preuve de l'existence de la déesse. Ceux qui notaient le manque de preuves se faisaient attaquer. »

Legion, geth trolleur à portée galactique

2

qu'est-ce que ce topic vient faire dans "bugs" confus

on peut faire ce que tu veux, mais il faut que ton .php renvoie une image (cad directement le contenu de l'image, avec les headers qui vont bien et tutti quanti), tandis que là il renvoie une page html qui contient un lien vers une image.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

3

Pouah mais c'est quoi ce code sick
Je vais t'expliquer l'algorithme smile

Il est simple : soit tu listes ton répertoire, soit tu codes un tableau de liens vers les images en dur.

Pour le premier cas, il faut lister le répertoire et construire le tableau en ne gardant que les .gif, .png ou .jpg.
Pour le deuxième cas, il faut construire un tableau d'images ce qui donne ça :
$tab=array("image1","image2","image3");


Ensuite, tu fais générer un nombre aléatoire et le nombre d'occurrences de ton tableau MOINS UN.

Et finalement, tu rediriges vers ton image en fonction du tableau, et ça donne ça : avatar2.php

Le code pour une image aléatoire n'est vraiment pas long, par contre, ce n'est jamais bon de copier/coller du code tout fait.
Pour finir des balises php, c'est <?php [...] ?>. smile

4

Meowcate, tu peux remplacer
$i = rand(1, $i); 
echo "<img src=\""; 
if ($nodir != 1) 
    echo $imgpath; 
echo "".$image."\" alt=\"".$textalter."\" />";
par
$i = rand(1, $i); 
$image = $images{$i}; 
if ($nodir != 1)
    header("Location: $imgpath");
avatar