Ik ben bezig met een website via php en sql. Alles is tot nu toe gelukt, maar nu moet ik twee foto's per pagina van 190x190 random laden op een bepaalde plaats.

Er zijn een aantal scripts te vinden met doe dit moet maar deze werken niet zoals ik wil. Ze redirecten ze naar de url van de foto en dan kan ik het dus niet in mijn site implenteren.

Weet iemand hoe dit moet?

Dit leek mij een goed script, maar werkt niet:

<?
$dir = opendir('.');

// Haal de gegevens uit dir
while(false !== ($file = readdir($dir))) 
{
    if(($file !== ".") && ($file !== "..")) 
    {
        list($filename, $ext) = explode(".", $file);
        $ext = strtolower($ext);
        if(($ext == "jpg") || ($ext == "png") || ($ext == "gif"))
        {
            $afbeelding[] = $file;
        }
    }
}
closedir($dir);

// Telt aantal afbeeldingen in map en maakt een random getal uit dat aantal.
$aantal = count($afbeelding) - 1;
$rand = mt_rand(0, $aantal);
echo "<img src=\"".$afbeelding[$rand]."\">";
?> 


In een los php bestandje doet hij het prima, maar zodra ik hem in mijn pagina stop,dus zo, dan loopt heel internet vast. Ik wijzig dan alleen de directory waar hij de foto's weg moet halen:

<td width="190" height="205" valign="top" align="left" xpos="447">

	
							<?
							$dir = opendir('.');

							// Haal de gegevens uit dir
							while(false !== ($file = readdir($dir))) 
								{
    								if(($file !== ".") && ($file !== "..")) 
    							{
       						list($filename, $ext) = explode(".", $file);
        					$ext = strtolower($ext);
        					if(($ext == "jpg") || ($ext == "png") || ($ext == "gif"))
        						{
            						$afbeelding[] = $file;
        						}
    						}
							}
							closedir($dir);

							// Telt aantal afbeeldingen in map en maakt een random getal uit dat aantal.
							$aantal = count($afbeelding) - 1;
							$rand = mt_rand(0, $aantal);
							echo "<img src=\"".$afbeelding[$rand]."\">";
							?> 

</td>
Je geeft bij $folder aan in welke map je plaatjes staan die random getoond moet worden, doordat er in het script dmv header() wordt aangegeven wat voor soort bestand het kan je hem gewoon als volgt includen in je huidige pagina's:

<img src="random.php" alt="" height="190" width="190" border="0"/>
Volgens mij hoef je hem alleen maar te includen:
<?php
include("random.php");
?>

[edit]laat maar[/edit]
Hm ik heb de folder verandert naar 'images/foto/'
Maar wanneer ik hem test zegt hij het volgende:

"http://localhost/Right%20to%20Play/web-content/random.php"
En geeft geen foto weer.

Dit is dus zonder include maar gewoon random.php

Edit: Heb het ook even op jouw manier geinclude maar dan zegt hij niets meer maar ook geen plaatje.. dus gewoon leeg vakje.

Heeft het hier misschien mee te maken?

echo("<img src=" . $img . ">");
Zou iemand hier nog één keer naar kunnen kijken? Of een ander script. Ik kom er echt niet uit.

Bedankt.
Ja dat is wel wat ik zoek! Zal even proberen.
http://dollepret.awardspace.com/testplaatjes/random2.php

Geen idee waarom het niet werkt...

Maar mss werkt het zo

Bestand 1:
random1.php

<?
$dir = opendir('.');

// Haal de gegevens uit dir
while(false !== ($file = readdir($dir)))
{
if(($file !== ".") && ($file !== ".."))
{
list($filename, $ext) = explode(".", $file);
$ext = strtolower($ext);
if(($ext == "jpg") || ($ext == "png") || ($ext == "gif"))
{
$afbeelding[] = $file;
}
}
}
closedir($dir);

// Telt aantal afbeeldingen in map en maakt een random getal uit dat aantal.
$aantal = count($afbeelding) - 1;
$rand = mt_rand(0, $aantal);

?>

en waar je het plaatje wilt

random2.php
ergens bovenaan zet je

<?php
include ("random1.php")
?>

en op de plaats waar je het plaatje wilt

<?php
echo "<img src=\"".$afbeelding[$rand]."\">"
?>

Oja, je 2de bestand moet ook .php zijn he
haha lol dat zijn mij plaatjes:D
Teminste uit mijn topic;)
@Lukke,

Hij doet dat niet.. :S
Kan dit soms niet?

<td width="190" height="205" valign="top" align="left" xpos="447"><?php echo "<img src=\"".$afbeelding[$rand]."\">"?></td>
@Vincent:

Dit werkt! Super, dankje! Net op tijd af nu :-)

Reageren