/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
En funktion der viser et random billede fr~
Fra : Stig Sørensen


Dato : 30-05-04 11:49

Hejsa.

Findes der er en funktion der viser et random billede fra en mappe?
Nogen der vil give mig et hint til en start, så er det meget værdsat.

Mvh
Stig Sørensen



 
 
Peter Brodersen (30-05-2004)
Kommentar
Fra : Peter Brodersen


Dato : 30-05-04 12:42

On Sun, 30 May 2004 12:49:10 +0200, "Stig Sørensen"
<ingen@mail.invalid> wrote:

>Findes der er en funktion der viser et random billede fra en mappe?
>Nogen der vil give mig et hint til en start, så er det meget værdsat.

$billeder = glob("mappe/*.jpg");
$fil = $billeder[array_rand($billeder)];
print $fil;

Jeg har brugt følgende funktioner:

glob() til at hive alle filnavne ind i et array. *.jpg kan rettes til
fx bare * eller lignende.
http://php.net/glob

array_rand() for at vælge en tilfældig entry i det array.
http://php.net/array_rand

--
- Peter Brodersen

Ugens sprogtip: at tjekke (og ikke at checke)

Stig Sørensen (30-05-2004)
Kommentar
Fra : Stig Sørensen


Dato : 30-05-04 13:31


"Peter Brodersen" <usenet@ter.dk> wrote in message
news:c9char$2tk$1@dknews.tiscali.dk...

> $billeder = glob("mappe/*.jpg");
> $fil = $billeder[array_rand($billeder)];
> print $fil;
>
> Jeg har brugt følgende funktioner:
>
> glob() til at hive alle filnavne ind i et array. *.jpg kan rettes til
> fx bare * eller lignende.
> http://php.net/glob

Hej Peter og tak for dit svar.
Jeg kendte ikke til glob() funktionen.

Hvis ovenstående kode nu smider denne fejlfortolkning i hovedet på mig;
Fatal error: Call to undefined function: glob() in billedetest.php on line
2, hvordan skal jeg så forstå det?
Kender den ikke til glob() funktionen?

Foreach eksemplet på http://dk2.php.net/manual/en/function.glob.php giver
samme fejl som ovenstående.

Serveren er udenbys, nærmere bestemt hos B-one.

Mvh
Stig Sørensen



Peter Brodersen (30-05-2004)
Kommentar
Fra : Peter Brodersen


Dato : 30-05-04 13:40

On Sun, 30 May 2004 14:31:05 +0200, "Stig Sørensen"
<ingen@mail.invalid> wrote:

>Hej Peter og tak for dit svar.
>Jeg kendte ikke til glob() funktionen.

Funktionen kom "først" med i PHP4.3.0, der dog trods alt har været på
banen i snart 1½ år.

>Hvis ovenstående kode nu smider denne fejlfortolkning i hovedet på mig;
>Fatal error: Call to undefined function: glob() in billedetest.php on line
>2, hvordan skal jeg så forstå det?
>Kender den ikke til glob() funktionen?

Det tyder på det, ja.

Så kan man om ikke andet bruge de gamle dir-funktioner (opendir,
m.fl.). Fx:

<?php
$billeder = array();
$dir = opendir("mappe");
while (($file = readdir($dir)) !== false) {
if ($file != "." && $file != "..") $billeder[] = $file;
}
closedir($dir);

$fil = $billeder[array_rand($billeder)];
print $fil;
?>

Første del erstatter tilnærmelsesvis glob-delen. Jeg læser dog blot
samtlige filer fra mappen (med undtagelse af "." og ".."), og ikke kun
dem, der slutter på en bestemt endelse. Det kan man dog godt tilføje,
hvis det skulle være.

--
- Peter Brodersen

Ugens sprogtip: at tjekke (og ikke at checke)

Stig Sørensen (30-05-2004)
Kommentar
Fra : Stig Sørensen


Dato : 30-05-04 14:01


"Peter Brodersen" <usenet@ter.dk> wrote in message
news:c9cknt$4dk$1@dknews.tiscali.dk...

> Funktionen kom "først" med i PHP4.3.0, der dog trods alt har været på
> banen i snart 1½ år.

Ja, man får hvad man betaler for (B-one).
Skal have skiftet engang.

> >Hvis ovenstående kode nu smider denne fejlfortolkning i hovedet på mig;
> >Fatal error: Call to undefined function: glob() in billedetest.php on
line
> >2, hvordan skal jeg så forstå det?
> >Kender den ikke til glob() funktionen?
>
> Det tyder på det, ja.
>
> Så kan man om ikke andet bruge de gamle dir-funktioner (opendir,
> m.fl.). Fx:
>
> <?php
> $billeder = array();
> $dir = opendir("mappe");
> while (($file = readdir($dir)) !== false) {
> if ($file != "." && $file != "..") $billeder[] = $file;
> }
> closedir($dir);
>
> $fil = $billeder[array_rand($billeder)];
> print $fil;
> ?>

Serveret på et sølvfad. Mange gange tak Peter.

> Første del erstatter tilnærmelsesvis glob-delen. Jeg læser dog blot
> samtlige filer fra mappen (med undtagelse af "." og ".."), og ikke kun
> dem, der slutter på en bestemt endelse. Det kan man dog godt tilføje,
> hvis det skulle være.

Behøves ikke. Det passer lige på :)
Mange tak.

mvh
Stig Sørensen



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste