random foto's niet getoond
Heb een webpagina waarop ik via 4 x een include het onderstaand script gebruik. Nu werkt het deels. Een random script laat altijd alle foto's uit de map zien, de andere scripts die verderop in de pagina staan laten soms wwel en soms niet de foto's zien. Komt dit omdat de foto's wellicht te groot zijn die geladen worden? Of geeft het script dit probleem?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?
$map = "afbeeldingen/diverse/"; // De map van de plaatjes een . voor dezelfde map als waar dit bestand staat.
$dir = opendir($map);
// 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=\"".$map . $afbeelding[$rand]."\" title=\"Werk van Wieger Douma \" alt=\"Kunst van Wieger Douma voor thuis en bedrijf!\" width=\"185\" height=\"139\" border=\"0\" />";
?>
$map = "afbeeldingen/diverse/"; // De map van de plaatjes een . voor dezelfde map als waar dit bestand staat.
$dir = opendir($map);
// 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=\"".$map . $afbeelding[$rand]."\" title=\"Werk van Wieger Douma \" alt=\"Kunst van Wieger Douma voor thuis en bedrijf!\" width=\"185\" height=\"139\" border=\"0\" />";
?>
Iemand nog een idee waarom dit niet werkt?
Iemand enig idee hoeveel uur er tussen 22:24 en 12:44 zit?
Hint :
< 24
Hint :
< 24
Probeer het eens op deze manier:
Url, probeer een aantal keer te verversen:
http://77.248.153.247/randomimage.php
De code:
Url, probeer een aantal keer te verversen:
http://77.248.153.247/randomimage.php
De code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
// De map waar de afbeeldingen staan:
$folder = "images/";
// Alle mogelijke extensies (is niet hoofdlettergevoelig):
$extensions = array("jpg", "gif", "png");
// Maak een array van de map
$files = scandir($folder);
// Zet alle bestanden met de gevraagde extensie in een nieuwe array
$images = array();
foreach($files as $key => $value) {
$ext = strtolower(substr($value, -3));
if(array_search($ext, $extensions) !== false) {
$images[] = $value;
}
}
// Haal een willekeurige afbeelding uit de array
$rand = array_rand($images);
$random_image = $folder.$images[$rand];
// Print de afbeelding
echo '<img src="'.$random_image.'" />';
?>
// De map waar de afbeeldingen staan:
$folder = "images/";
// Alle mogelijke extensies (is niet hoofdlettergevoelig):
$extensions = array("jpg", "gif", "png");
// Maak een array van de map
$files = scandir($folder);
// Zet alle bestanden met de gevraagde extensie in een nieuwe array
$images = array();
foreach($files as $key => $value) {
$ext = strtolower(substr($value, -3));
if(array_search($ext, $extensions) !== false) {
$images[] = $value;
}
}
// Haal een willekeurige afbeelding uit de array
$rand = array_rand($images);
$random_image = $folder.$images[$rand];
// Print de afbeelding
echo '<img src="'.$random_image.'" />';
?>
Gewijzigd op 01/01/1970 01:00:00 door Marco
@Marco bedankt, dit werkt super! Komt mischien door die "mooie foto's" in je voorbeeld :) .thanks.
Problemen met mijn "mooie foto's"? :)
'Marco:
Problemen met mijn "mooie foto's"? :)
Zijn echt gaaf.. ;-)
Nee geen probleem. Zijn echt erg vet! :)
Zo te zien een aantal mensen pixel-geil? (Is dat een woord?)
On-topic:
Is het niet mooier om gewoon een AJAX functie te doen die de afbeeldingen real-time switched?
Of is dat totaal niet wat je zoekt?
TIP:
Ik vind het persoonlijk netter om:
tags te gebruiken in plaats van
En dit is ook wat netter:
On-topic:
Is het niet mooier om gewoon een AJAX functie te doen die de afbeeldingen real-time switched?
Of is dat totaal niet wat je zoekt?
TIP:
Ik vind het persoonlijk netter om:
tags te gebruiken in plaats van
En dit is ook wat netter:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
echo "<img src=\"".$map . $afbeelding[$rand]."\" title=\"Werk van Wieger Douma \" alt=\"Kunst van Wieger Douma voor thuis en bedrijf!\" width=\"185\" height=\"139\" border=\"0\" />";
// veranderen in
echo '<img src="'.$map . $afbeelding[$rand].'" title="Werk van Wieger Douma " alt="Kunst van Wieger Douma voor thuis en bedrijf!" width="185" height="139" border="0" />';
// (Dit is geen kritiek, maar een tip, dan hoef je niet al die HTML te escapen met backslashes)
?>
echo "<img src=\"".$map . $afbeelding[$rand]."\" title=\"Werk van Wieger Douma \" alt=\"Kunst van Wieger Douma voor thuis en bedrijf!\" width=\"185\" height=\"139\" border=\"0\" />";
// veranderen in
echo '<img src="'.$map . $afbeelding[$rand].'" title="Werk van Wieger Douma " alt="Kunst van Wieger Douma voor thuis en bedrijf!" width="185" height="139" border="0" />';
// (Dit is geen kritiek, maar een tip, dan hoef je niet al die HTML te escapen met backslashes)
?>
Gewijzigd op 01/01/1970 01:00:00 door Jelle Posthuma
@Jelle Ik had de onderste versie al gebruikt leek me logischer. Ook gebruik ik
Bedankt.
Bedankt.




