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>
Graag gedaan,
ik had het in een halve minuut via google ;).
lol, ik heb echt héél lang gezocht maar niets wat precies was wat ik zocht.
op www.gamersfuture.nl staat ook zoiets, als je het script wilt, zeg ff dan...
[edit]Onder het kopje 'Nieuwste Screenshots' links[/edit]
Als dat kan graag. Want ik loop nu al tegen het volgende probleem aan. Ik moet namelijk twee plaatjes uit die map ook één pagina weergeven, maar nu laat hij altijd twee dezelfde zien! Dat is niet de bedoeling.

Edit:
Dat was geen ramp, gewoon twee mapjes gemaakt voor elke foto één.
<?php
$localdir = 'map/';
$dir = opendir($localdir);

// 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=\"".$localdir."/".$afbeelding[$rand]."\">";
?>
Ik weet dat mijn script ook werkt die ik hier heb gepost:

LINK

Druk op f5 om elke keer een nieuwe te zien, er zijn er twee

Maar er kunnen dan twee dingen fout zijn,
de map images staat niet in dezelfde map als waar de random.php of je type plaatje komt niet voor in de array()

edit:
wat foutjes
@rednl: Jouw script werkt niet in Firefox. Wel in IE.
@Arjan: Die werkt niet meer zodra ik hem had geinclude.. weet niet waarom.

Maar het werkt nu wel.
Bedankt voor jullie hulp allemaal.

Reageren