Avatar billede sleort Nybegynder
27. marts 2006 - 15:40 Der er 3 kommentarer

Link to random img.

Jeg har det her stykke kode, som laver et random output i form af et billede. 


Jeg kalder filen med denne linie:
<img src='images/random/rotate.php' alt='Random Images'>


Kan jeg lave det så billede bliver et link til sig selv, som åbnes i et popup vindue for sig selv?


KODE:

$folder = '';

// Space seperated list of extensions, you probably won't have to change this.
$exts = 'jpg jpeg png bmp 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!
?>
Avatar billede jakobdo Ekspert
27. marts 2006 - 17:54 #1
Du kan ikke lave det med rotate.php
Så skal du i stedet for: <img src='images/random/rotate.php' alt='Random Images'>
Lave:
include('images/random/rotate.php');

og så lade rotate.php output'e et link til et billede, hvor du evt kun viser et thumb af billedet.
Avatar billede sleort Nybegynder
27. marts 2006 - 20:50 #2
Cool - Se jeg fatter jo nemlig hat af og skulle programmere selv...
Er der nogen mulighed for at du kunne omskrive det for mig? Sådan så når man klikker på billedet bliver det åbnet i et nyt vindue?

*krydser fingre*
Avatar billede jakobdo Ekspert
27. marts 2006 - 20:53 #3
Måske:

<?php
$folder = '';

// Space seperated list of extensions, you probably won't have to change this.
$exts = 'jpg jpeg png bmp 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

echo '<a href="'.$folder.$files[$rand].'"><img src="'.$folder.$files[$rand].'" /></a>';
?>
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