Avatar billede andersthingholm Nybegynder
04. august 2004 - 18:08 Der er 7 kommentarer og
1 løsning

vis random billede

Hej,

Er der nogen, der kan hjælpe mig med at lave en stump kode som gør følgende:

1. Læser et bibliotek og ser hvad der ligger af JPEG's i det.
2. Vælger en af disse tilfældigt og indsætter det i HTML'en.

VH

Anders
Avatar billede the_ghost Nybegynder
04. august 2004 - 18:18 #1
<?php

$imageDir = ".";

$handle=opendir($imageDir);


$piccy=array();
$count=0;

while (($filename = readdir($handle))!==false)
{
if (substr($filename,-4) == ".jpg" || substr($filename,-4) == ".gif" || substr($filename,-4) == ".png" || substr($filename,-4) == ".JPG" || substr($filename,-4) == ".GIF" || substr($filename,-4) == ".PNG"  || substr($filename,-4) == ".BMP" || substr($filename,-4) == ".bmp")
{
  $piccy[$count] = $filename;
  $count++;
}
}

closedir($handle);

$picNr = rand(0, count($piccy) - 1);

echo $picNr;

echo '<img src="' .$piccy[$picNr] .'">';

?>
Avatar billede the_ghost Nybegynder
04. august 2004 - 18:18 #2
Den tager så også png og gif billeder med
Avatar billede gizp Nybegynder
04. august 2004 - 18:19 #3
<?php
$dir = "/tmp/";

// Open a known directory, and proceed to read its contents
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            $filer = $file;
        }
        closedir($dh);
    }
}
$antal = count($filer)-1;
$billede = rand(0,$antal);
echo "<img src='$filer[$billede]'>";
?>
Avatar billede gizp Nybegynder
04. august 2004 - 18:23 #4
Ah, okay. Mit tjekker så ikke om det er .jpg.. Men ikke svært at lave, hvis det andet ikke virker ;o)
Avatar billede detox Nybegynder
04. august 2004 - 18:24 #5
Ellers:

$dir = 'img'; // Sti til mappe med billeder
$jpgs = glob("$dir/*.jpg");
$billede = $jpgs[rand(0,count($jpgs)-1)];
echo "<img src='".$billede."' alt='' />";
Avatar billede detox Nybegynder
04. august 2004 - 18:33 #6
Hvis du osse vil have .jpeg med:

$dir = 'img';
$jpgs = glob("$dir/{*.jpeg,*.jpg}", GLOB_BRACE);
$billede = $jpgs[rand(0,count($jpgs)-1)];
echo "<img src='".$billede."' alt='' />";
Avatar billede andersthingholm Nybegynder
04. august 2004 - 23:34 #7
Detox - vil du forklare denne linje?

jpgs = glob("$dir/{*.jpeg,*.jpg}", GLOB_BRACE);

og smide et svar...
Avatar billede detox Nybegynder
05. august 2004 - 00:38 #8
glob() ligger navn (og sti) på de filer, der passer med det angivne mønster, i arrayet '$jpegs'. * er et wildcard og GLOB_BRACE flaget gør at man kan søge på flere alternativer (adskildt af komma).
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester