/ Forside/ Teknologi / Udvikling / PHP / Spørgsmål
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
Vise tilfældig billede fra foldere
Fra : Hausbaer
Vist : 1261 gange
500 point
Dato : 03-01-12 11:13

Hej

jeg prøver at få vist nogle billedere fra folderen 2011.. men den viser kun fra den folder... jeg vil gerne havde den til at søge i underfolderne også...men hvordan gør jeg..

<?
$imglist='';
//$img_folder is the variable that holds the path to the banner images. Mine is images/tutorials/
// see that you don't forget about the "/" at the end
$img_folder = "images/2011/";

mt_srand((double)microtime()*1000);

//use the directory class
$imgs = dir($img_folder);

//read all files from the directory, checks if are images and ads them to a list (see below how to display flash banners)
while ($file = $imgs->read()) {
if (eregi("gif", $file) || eregi("jpg", $file) || eregi("png", $file))
$imglist .= "$file ";

} closedir($imgs->handle);

//put all images into an array
$imglist = explode(" ", $imglist);
$no = sizeof($imglist)-2;

//generate a random number between 0 and the number of images
$random = mt_rand(0, $no);
$image = $imglist[$random];

//display image
echo '<img src="'.$img_folder.$image.'" border=0>';
?>

 
 
Kommentar
Fra : Klaudi


Dato : 03-01-12 11:21

Måske du kan bruge noget herfra?

How to find the folders and sub folders and files in php?
http://www.phpexpertsforum.com/how-to-find-the-folders-and-sub-folders-and-files-in-php-t844.html

Kommentar
Fra : Hausbaer


Dato : 03-01-12 11:31

Hej

Jeg forstår ikke helt denne... hvad betyder f.eks. davai??

function davai($dir) {
$handle = opendir($dir);
while ($file = readdir($handle))
if ($file != "." && $file != "..")
if (is_file("$dir/$file")) {
echo "$dir/$file<br>";

}
else davai("$dir/$file");
}
davai("Root");

Kommentar
Fra : Klaudi


Dato : 03-01-12 11:42
Kommentar
Fra : Hausbaer


Dato : 03-01-12 11:47

Men hvad laver den midt i en PHP kode?

Kommentar
Fra : Klaudi


Dato : 03-01-12 11:54

Det er jo nok en russer der har skrevet koden, og det er en funktions variabel,
du kan f.eks. skrive dette!

function hentindhold($dir) {
$handle = opendir($dir);
while ($file = readdir($handle))
if ($file != "." && $file != "..")
if (is_file("$dir/$file")) {
echo "$dir/$file<br>";

}
else hentindhold("$dir/$file");
}
hentindhold("Root");

Kommentar
Fra : Hausbaer


Dato : 03-01-12 12:29

Men hvordan får jeg den så implementeret i den kode jeg har

Kommentar
Fra : Klaudi


Dato : 03-01-12 13:12

Get random file from folder / sub folder
http://www.veign.com/code-view.php?type=web&codeid=51

Kommentar
Fra : Klaudi


Dato : 03-01-12 14:32

Du skal rette i filen sample.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
   <title>Random Image Display</title>

<?php
   include_once 'func-files.php'; // Sti til fil der finder rnd img
   // Attempt to grab a random image
   $random_image = get_random_file('images', TRUE); //Ret her til TRUE
   // If nothing return then use a default
   $random_image = (!$random_image) ? 'images/default.jpg' : $random_image ;
?>
</head>

<body>

   <img src="<?php echo $random_image ?>" style="" alt="" />

</body>
</html>

Kommentar
Fra : Hausbaer


Dato : 03-01-12 14:39

Kan jeg rette flg. for at kun at få billeder fra 2010 folder og dens underfoldere??


<?php
include_once 'images/2010/func-files.php'; // Sti til fil der finder rnd img
// Attempt to grab a random image
$random_image = get_random_file('images', TRUE); //Ret her til TRUE
// If nothing return then use a default
$random_image = (!$random_image) ? 'images/default.jpg' : $random_image ;
?>
</head>

<body>

<img src="<?php echo $random_image ?>" style="" alt="" />

</body>
</html>



Kommentar
Fra : Klaudi


Dato : 03-01-12 14:49

Hvis du har koden fra sample i roden og func-files.php i images/2010

<?php
include_once 'images/2010/func-files.php'; // Sti til fil der finder rnd img

// Attempt to grab a random image
$random_image = get_random_file('images/2010', TRUE); //Ret her til TRUE

// If nothing return then use a default
$random_image = (!$random_image) ? 'images/default.jpg' : $random_image ;
?>

<img src="<?php echo $random_image ?>" style="" alt="" />

Kommentar
Fra : Hausbaer


Dato : 03-01-12 15:01

Jeg har lagt flg. ind i head på min side

www.thyholmloebeklub.dk/t1.php

<?php
include_once 'images/2011/func-files.php'; // Sti til fil der finder rnd img
// Attempt to grab a random image
$random_image11 = get_random_file('images', TRUE); //Ret her til TRUE
// If nothing return then use a default
$random_image11 = (!$random_image) ? 'images/default.jpg' : $random_image ;
?>

og så placeringen af billedet
<img src="<?php echo $random_image11 ?>" style="" alt="" />


Men den viser kun default billedet...



Kommentar
Fra : Hausbaer


Dato : 03-01-12 15:04

Og der er 2 foldere test1 og 2 med hver 3 billeder


Kommentar
Fra : Klaudi


Dato : 03-01-12 15:08

<?php
include_once 'images/2011/func-files.php'; // Sti til fil der finder rnd img

// Attempt to grab a random image
$random_image = get_random_file('images/2011', TRUE); //Ret her til TRUE

// If nothing return then use a default
$random_image = (!$random_image) ? 'images/default.jpg' : $random_image ;
?>

<img src="<?php echo $random_image ?>" style="" alt="" />


$random_image11 forkert

Kommentar
Fra : Hausbaer


Dato : 03-01-12 15:15

Jeg har en folder der hedder 2010 en der hedder 2011 og en der hedder 2012...

Dem vil jeg gerne havde at jeg kan trække et tilfældigt billede ud af... altså et billede fra 2010 .. 2011 og 2012... de skal bruges som link til de respektive år.

derfor troede jeg at hvis jeg brúgte $random_image11 så kunne jeg definere de 3 forskellige billeder jeg vil bruge.

En gang i mellem får jeg slet ikke noget billede op, som om den mangler et..

Kommentar
Fra : Hausbaer


Dato : 03-01-12 15:19

Det er fordi jeg skal ha udelukket *.php filerne....

Kommentar
Fra : Hausbaer


Dato : 03-01-12 15:23

Men hvordan kan jeg udelukkende finde *.jpg filer

Kommentar
Fra : Klaudi


Dato : 03-01-12 15:34

Her er fra min test, det ser ud til at virke, ret stier til images
<?php
   include_once 'randomfile/func-files.php';
   // Attempt to grab a random image
   $random_image = get_random_file('randomfile/images/2010', TRUE);
   // If nothing return then use a default
   $random_image = (!$random_image) ? 'randomfile/images/default.jpg' : $random_image ;
?>

   <img src="<?php echo $random_image ?>" style="" alt="" />

<br /><br />

<?php
   include_once 'randomfile/func-files.php';
   // Attempt to grab a random image
   $random_image11 = get_random_file('randomfile/images/2011', TRUE);
   // If nothing return then use a default
   $random_image11 = (!$random_image11) ? 'randomfile/images/default.jpg' : $random_image11 ;
?>

   <img src="<?php echo $random_image11 ?>" style="" alt="" />

<br /><br />

<?php
   include_once 'randomfile/func-files.php';
   // Attempt to grab a random image
   $random_image12 = get_random_file('randomfile/images/2012', TRUE);
   // If nothing return then use a default
   $random_image12 = (!$random_image12) ? 'randomfile/images/default.jpg' : $random_image12 ;
?>

   <img src="<?php echo $random_image12 ?>" style="" alt="" />

Kommentar
Fra : Klaudi


Dato : 05-01-12 09:46

Det virker næsten!


Tilpas dette så der kommer et billed hvis der ikke skulle blive "fanget" et random

// If nothing return then use a default
$random_image11 = (!$random_image11) ? 'images/default.jpg' : $random_image11 ;

Kommentar
Fra : Klaudi


Dato : 09-01-12 14:05

Nå, hvordan går det, funker det eller hva'

Kommentar
Fra : Hausbaer


Dato : 09-01-12 14:09

Ja mangler bare lige den sidste

Men hvordan kan jeg udelukkende finde *.jpg filer

for ellers vil den jo vise en php fil...

Sidste spørgsmål så får du point...Kan desværre ikke give dig flere end der allerede er lovet



Accepteret svar
Fra : Klaudi

Modtaget 500 point
Dato : 09-01-12 15:00

I filen func-files.php indsætter du navnene på de php og andre filer du ikke vil have med.

et eks.
// Filter out this and parent folder
if($file != '.' && $file != '..' && $file != 'rnd2.php' && $file != 'sample.php') {

Godkendelse af svar
Fra : Hausbaer


Dato : 11-01-12 10:08

Tak for hjælpen ud over det sædvanlige.

Undskyld de lange svartider...

Tak for svaret Klaudi.

Kommentar
Fra : Klaudi


Dato : 11-01-12 10:54

var så lidt

Kommentar
Fra : Hausbaer


Dato : 18-01-12 16:53

Jeg ved ikke om jeg skal lave et nyt spørgsmål eller kan føre tråden videre...

Men skulle der være brug for en ny tråd lægger jeg den selvfølgelig ind.

www.thyholmloebeklub.dk/2013.php

Her har jeg prøvet at tage 2 tilfældige billeder fra hver mappe... men den viser kun det første. Og så stopper koden med at fortsætte.....

Her er koden jeg bruger.

Hvor har der sneget sig en fejl ind.

<table width="320" border="1">
<tr>
<td colspan="10"><center><font size="3"><b>Billeder 2012</b></font></center></td>
</tr>
<tr>
<td width="150"><center><a href="http://www.thyholmloebeklub.dk/vinterloeb2012.php">
include_once 'images/2012/vinterloeb/func-files.php';
$random_image = get_random_file('images/2012/vinterloeb', TRUE);
$random_image = (!$random_image) ? 'images/default.jpg' : $random_image ;
echo "<img src=\"$random_image\" width=\"150\" height=\"150\" border=\"0\">";
?></a></center></td><td width="20">test</td>


<td width="150"><center><a href="
http://www.thyholmloebeklub.dk/foedselsdag2012.php">
<?php
include_once 'images/2012/foedselsdag/func-files.php';
$random_image2 = get_random_file('images/2012/foedselsdag', TRUE);
$random_image2 = (!$random_image2) ? 'images/default.jpg' : $random_image2;
?>
<img src="<?php $random_image2 ?>" width="150" height="150" border="0">

</a></center></td></tr>
</table>

Kommentar
Fra : Hausbaer


Dato : 18-01-12 18:03

Så virker det...Men ved ikke helt hvorfor...


Kommentar
Fra : Klaudi


Dato : 18-01-12 18:19

Vil mene det skal se så'n ud
---------------------------------------------------------------
include_once 'images/2012/vinterloeb/func-files.php';
$random_image = get_random_file('images/2012/vinterloeb', TRUE);
$random_image = (!$random_image) ? 'images/default.jpg' : $random_image ;
echo "<img src=\"$random_image\" width=\"150\" height=\"150\" border=\"0\">";

include_once 'images/2012/foedselsdag/func-files.php';
$random_image2 = get_random_file('images/2012/foedselsdag', TRUE);
$random_image2 = (!$random_image2) ? 'images/default.jpg' : $random_image2 ;
echo "<img src=\"$random_image2\" width=\"150\" height=\"150\" border=\"0\">";
---------------------------------------------------------------------------------------------------

Her ser det anderledes ud i de nederse linjer
-----------------------------------------------------
include_once 'images/2012/foedselsdag/func-files.php';
$random_image2 = get_random_file('images/2012/foedselsdag', TRUE);
$random_image2 = (!$random_image2) ? 'images/default.jpg' : $random_image2;
?>
<img src="<?php $random_image2 ?>" width="150" height="150" border="0">


Kommentar
Fra : Hausbaer


Dato : 24-01-12 10:01

Super... fandt ud af at jeg kun skal ligge

include_once 'images/2012/vinterloeb/func-files.php';

ind en gang. Så kender den funktionen.

Så er det lagt ind.

Kommentar
Fra : Hausbaer


Dato : 24-01-12 11:19

Så har jeg lavet en automatisk udgave...

Så skal man kun navngive folderen og ligge billederne ind.

Kan ses på www.thyholmloebeklub.dk/2012.php

<?php
include_once 'images/2012/foedselsdag/func-files.php';
$dir = "images/2012/";
$a="1";
// Open a known directory, and proceed to read its contents
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
   
   if($file != '.' && $file != '..')
      {
         $folder[$a] = $file;
         $a=$a +1;
      }
   
   
}
closedir($dh);
}
}
$b=$a-1;
$li="1";
$php = "php";
echo "<br>";
echo "<table border=\"1\">";
echo "<tr>";

for ($i = 1; $i <= $b; $i++) {
       echo "<td><center><a href = $folder[$i].$php>";
      $random_image[$i] = get_random_file($dir.$folder[$i], TRUE);
      $random_image[$i] = (!$random_image[$i]) ? 'images/default.jpg' : $random_image[$i] ;
      echo "<img src=\"$random_image[$i]\" width=\"150\" height=\"150\" border=\"0\"><br>";      
      echo "</a>";
      echo $folder[$i];
      echo "</a></center></td>";
      $li++;
      }
   


?>
</tr>
</table>



Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste