Avatar billede mjl Nybegynder
21. november 2006 - 16:30 Der er 28 kommentarer og
2 løsninger

Vælge 2 tilfældige billeder fra mappe

Hej der ...

Jeg har et lille problem!

Jeg har en mappe med billeder - fra denne mappe, vil jeg hente 2 tilfældige billeder, der IKKE er ens, og "echo" dem ved siden af hinanden på siden - hvordan filen gør jeg det?

(*.jpg filer)

hilsen Conrad
Avatar billede mjl Nybegynder
21. november 2006 - 16:47 #1
Nogen der kan hjælpe?
Avatar billede labisama Nybegynder
21. november 2006 - 16:50 #2
Tror du ikke det er nemmere i javascript?

Se evt. her

http://www.eksperten.dk/spm/372454
Avatar billede zynzz Praktikant
21. november 2006 - 16:50 #3
Kan du ikke bare ligge alle billederne i et array og dele det i 2 dele og lave en rand på begge dele ?
Avatar billede labisama Nybegynder
21. november 2006 - 16:52 #4
Eller noget ala:

<?php
$data = Array("bilelde1.jpg","hej.jpg","ok.jpg");
$rand = rand(0, count($data)-1);
echo "<img src='$data[$rand]'>";
?>
Avatar billede mjl Nybegynder
21. november 2006 - 16:53 #5
Tjo - JavaScript - hmm - ville nu helst ha' det i PHP ... (havde et script, og lagde det 2 gange på siden, men så vistes det samme billede begge steder ind i mellem ...)
Avatar billede mjl Nybegynder
21. november 2006 - 16:54 #6
Skal lige ned med nogle film - tilbage om 20 min.
Avatar billede zynzz Praktikant
21. november 2006 - 17:01 #7
$dir=opendir('DIR HER');
while ($fil = readdir($dir)){
if(!is_dir($fil)){
$billeder[] = $fil;
}
}
$rand = rand(0, count($billeder)-1);
echo "<img src='$data[$rand]'>";
Avatar billede mjl Nybegynder
21. november 2006 - 17:29 #8
zynzz> Den viser ikke noget :(
Avatar billede mjl Nybegynder
21. november 2006 - 17:32 #9
... jeg ville jo også være glad for at den viste 2 forskellige billeder ved siden af hinanden ...
Avatar billede mjl Nybegynder
21. november 2006 - 17:36 #10
Jeg har denne, der viser 1 billede ...

<?php
$mappenavn = "randompics/";
$mappe = opendir($mappenavn);
while($fil = readdir($mappe)) {
    if (eregi("\.(gif|jpg|jpeg|bmp)+$", $fil)) {
        $billeder[] = $fil;
    }   
}

$billedsrc = $mappenavn . $billeder[rand(0, sizeof($billeder)-1)];
echo "<img src=\"$billedsrc\">";
?>

Men hvordan for jeg 2 FORSKELLIGE billeder !?
Avatar billede mjl Nybegynder
21. november 2006 - 17:45 #11
Nå - jeg bruger min egen, 2 gange ... ! Lidt en hovsa-løsning, men pyt !

Tak for hjælpen - smid svar for points!
Avatar billede elskermad.dk Nybegynder
21. november 2006 - 18:00 #12
<?

$billeder = glob("mappe/*.jpg");

$antal = count($billeder);

$tal = rand(0,$antal);

$billede1 = $billeder[$tal];

unset($billeder[$tal]);

$tal = rand(0,$antal-1);

$billede2 = $billeder[$tal];

echo $billede1 . " - " . $billede2;

?>

måske?
Avatar billede elskermad.dk Nybegynder
21. november 2006 - 18:02 #13
<?

$billeder = glob("mappe/*.jpg");

$antal = count($billeder);

$tal1 = rand(0,$antal-1);
$tal2 = rand(0,$antal-2);

$billede1 = $billeder[$tal1];

unset($billeder[$tal1]);

$billede2 = $billeder[$tal2];

echo $billede1 . " - " . $billede2;

?>

skulle vist være bedre :)
Avatar billede zynzz Praktikant
21. november 2006 - 18:14 #14
svar
Avatar billede mjl Nybegynder
21. november 2006 - 18:16 #15
Call to undefined function: glob()
Avatar billede mjl Nybegynder
21. november 2006 - 18:18 #16
Vent - virker vidst på min eksterne server !
Avatar billede mjl Nybegynder
21. november 2006 - 18:20 #17
Perfekt elskermad - jeg elsker også mad !!! Smid du også et svar, tak !
Avatar billede mjl Nybegynder
21. november 2006 - 21:15 #18
elskermad.dk> svarer du også - det var jo trods alt din løsning, der var perfekt!?
Avatar billede tdafoobar Nybegynder
21. november 2006 - 21:20 #19
I skal da også gøre alting for complext.

<?php

$images = glob('images/*.jpg');
$key = array_rand($images,2);
echo $images[$key[0]];
echo $images[$key[1]];

?>

www.php.net/array_rand
Avatar billede mjl Nybegynder
21. november 2006 - 21:24 #20
:)
Avatar billede tdafoobar Nybegynder
21. november 2006 - 21:26 #21
btw. hvis din lokale server sig 'Call to undefined function: glob()' , så skal du have opgraderet din php.

Det er noget ala... 3-5 år siden den blev indført.
Avatar billede mjl Nybegynder
21. november 2006 - 21:27 #22
Måske en ide' - he he ...
Avatar billede mjl Nybegynder
21. november 2006 - 21:53 #23
Men hvis jeg opgraderer, tager det 100 år, før PHP-Apache-MySQL virker igen :(
Avatar billede tdafoobar Nybegynder
21. november 2006 - 21:54 #24
tager 6 minutter på windows, for mig :)
Avatar billede mjl Nybegynder
21. november 2006 - 22:00 #25
Jeg er ikke så sej igen - alle de der .ini filer m.v., der skal sørge for, at det hele snakker sammen - arghh ... og få det til at starte aut.
Avatar billede mjl Nybegynder
21. november 2006 - 22:03 #26
Avatar billede tdafoobar Nybegynder
22. november 2006 - 00:32 #27
Jeg er langtfra enig med Jensgram, hans opsætning er elendig til en udvikler platform (f.eks. ikke ordenlig visning af fejl, og han ved ikke hvordan php.ini ser ud).

Hvis du ikke har noget imod engelsk, har jeg skrevet denne her artikel.

http://dragons-lair.org/articles/installing_php/
Avatar billede mjl Nybegynder
24. november 2006 - 22:00 #28
Andre der skal ha' points? Ellers lukker jeg ! Tak for hjælpen!
Avatar billede elskermad.dk Nybegynder
24. november 2006 - 22:30 #29
kan da godt tage lidt hvis mit indlæg har været til hjælp :)
Avatar billede mjl Nybegynder
25. november 2006 - 17:14 #30
1000 tak!
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