Avatar billede mb2000 Novice
22. maj 2005 - 09:54 Der er 4 kommentarer og
1 løsning

Random picture loading

Jeg er igang med at lave netbutik via noget cms som fra dandomain

Der er nogle af de banner som jeg har lavet som jeg kunne tænke mig der skulle skifte hver gang man besøger siden,
jeg kalder der "load random" forskellige banner fra samme mappe, kan det lade sig gøre med en html kode eller hvad skal der til ?
Avatar billede wormsk8 Nybegynder
22. maj 2005 - 10:58 #1
Du kan gøre det med et par forskellige ting.

Det her script skifter banner for hver load - er det okay?

Du skal bruge css og php til dette:

<style.css>
#load_random {
    background: #white url('load_random/rotate.php') ;
        }
</style.css>

<rotate.php>
<?php

$folder = '';

$exts = 'jpg jpeg png gif';

$files = array(); $i = -1; // Initialize some variables
if ('' == $folder) $folder = './';
$handle = opendir($folder);
$exts = explode(' ', $exts);
while (false !== ($file = readdir($handle))) {
    foreach($exts as $ext) { // for each extension check the extension
        if (preg_match('/\.'.$ext.'$/i', $file, $test)) { // faster than ereg, case insensitive
            $files[] = $file; // it's good
            ++$i;
            }
        }
    }
closedir($handle); // We're not using it anymore
mt_srand((double)microtime()*1000000); // seed for PHP < 4.2
$rand = mt_rand(0, $i); // $i was incremented as we went along

header('Location: '.$folder.$files[$rand]); // Voila!
?>
</rotate.php>

Mvh. Kasper Worm Andersson
Avatar billede roenving Novice
22. maj 2005 - 12:10 #2
Som det indirekte fremgår af Kaspers forslag, er du nødt til at tage udgangspunkt i noget server-side scripting, hvis du skal aflæse en mappe ...

-- og hvis du skal have forskellige hver gang har du brug for en cookie, hvis det skal være helt sikkert ...

-- ofte vil en tilfældighedsfunktion dog være helt tilstrækkelig, hvis man har mere end et par billeder/bannere !-)
Avatar billede mb2000 Novice
22. maj 2005 - 15:23 #3
hvor fremgår det at hvilken mappe bannerne skal ligge i ?

er det header('Location: '.$folder.$files[$rand]); //

morten
Avatar billede roenving Novice
22. maj 2005 - 15:28 #4
Her er filernes placering: load_random/rotate.php, for php-scriptet loader de jpg, png og gif-filer, som findes i samme mappe: if ('' == $folder) $folder = './';
Avatar billede wormsk8 Nybegynder
22. maj 2005 - 17:20 #5
Præcis, rotate.php ligger i load_random sammen med dine banners!

Har brugt det engang og det virker glimrende. Dog loader Firefox ikke nyt banner lige så  ofte som IE.
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