Krijg script niet voor elkaar
Ik heb het volgende script op mijn website staan in het fotoalbum.
Het is een script waarbij in plaats van het bladeren door de foto's een diavoorstelling opent in volledig scherm middels JS.
Het werkt allemaal prima, alleen ik heb geen idee hoe ik het script moet ombouwen.
Dit script laat random de foto's uit een map zien waarbij ik gebruik maak van een meta refresh.
Ik zou graag willen dat de foto's in volgorde worden getoont en niet meer random.
Ik denk niet dat het mogelijk is omdat ik de pagina refresh..
Maar misschien heeft een van jullie een idee?
voorbeeld op http://www.wesleymessing.nl
( dan naar foto's, jaar selecteren dan verschijnt >>Diavoorstelling<< )
Hieronder het script wat ik gebruik.
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
26
27
28
29
30
31
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
$Map = $_GET['map'];
$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);
$afb = "$afbeelding[$rand]";
echo "<center><img src=\"$Map/$afb\" width=\"850\"></br>";
echo "$afb</br>";
echo '<a href="javascript:window.close();">Terug naar de website</a></center>';
?>
$Map = $_GET['map'];
$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);
$afb = "$afbeelding[$rand]";
echo "<center><img src=\"$Map/$afb\" width=\"850\"></br>";
echo "$afb</br>";
echo '<a href="javascript:window.close();">Terug naar de website</a></center>';
?>
Gewijzigd op 01/01/1970 01:00:00 door Dennis Messing
Ik heb dit werkende scriptje, wat onderdeel uitmaakt van een ander script.
De imageslideshows welke ik op internet heb gevonden kon ik niet toepassen.
Dit script werkt, ik zou alleen graag willen dat de random functie zou verdwijnen en gewoon de foto's op volgorde weergeven.
als je gewoon kijkt hoe zo'n scriptje voor een slideshow in elkaar steekt, dan kan je dat gewoon toepassen op jouw scriptje...
$rand = mt_rand(0, $aantal);
$afb = "$afbeelding[$rand]";
Je kan 2 dingen doen, of je zet de laatste afbeelding in een sessie, of je past je javascript aan zodat die iedere keer de volgende afbeelding pakt. Javascript ben ik geen held in, dus dan gebruiken we de eerste oplossing maar.
Je krijgt dan iets als;
Code (php)
Ga daar maar eens mee stoeien.
Misschien even kijken naar een leuke jQuery tooltje ofzo?
hij kan van JQuery ScrollTo heel goed gebruiken... linkje staat hier ergens boven...
deze site is een voorbeeldje van de scroll plugin te zien. je moet even wachten voordat er iets gebeurd...
je kan ipv dat ie automatisch scrollt (na zoveel tijd), dat je user input , dus bv een mouse click van een link nodig hebt om naar het volgende plaatje te gaan... hij werkt super goed, ben er een tijd geleden ook mee bezig geweest
op je kan ipv dat ie automatisch scrollt (na zoveel tijd), dat je user input , dus bv een mouse click van een link nodig hebt om naar het volgende plaatje te gaan... hij werkt super goed, ben er een tijd geleden ook mee bezig geweest
De 'header' :), mooi ding
Ik ben benieuwd wat jullie er van vinden.
Graag verbeterpunten aangeven zodat ik hier wederom van kan leren.
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?php
session_start();
echo'<style type="text/css">
<!--
body {
background-color: #D3DCE6;
}
-->
</style>';
$dir = $_GET['map'];
if (empty($_GET['foto'])){
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
if(($file !== ".") && ($file !== "..") && ($file !== "thumbs")&& ($file !== "thumbsgroot"))
{
list($filename, $ext) = explode(".", $file);
$afbeeld[] = $file;
}
}
closedir($dh);
}
}
$aantal = count($afbeeld);
echo "<center><img src=\"$dir/$afbeeld[0]\" width=\"850\"></br>";
echo '<a href="javascript:window.close();">Terug naar de website</a></center>';
?><META http-equiv="Refresh" content="4 URL=randfoto2.php?map=<?="$dir"?>&foto=1">
<?
}
else
{
if (is_dir($dir))
{
if ($dh = opendir($dir))
{
while (($file = readdir($dh)) !== false)
{
if(($file !== ".") && ($file !== "..") && ($file !== "thumbs")&& ($file !== "thumbsgroot"))
{
list($filename, $ext) = explode(".", $file);
$afbeeld[] = $file;
}
}
closedir($dh);
}
}
$aantal = count($afbeeld);
$foto = ($foto + 1 ) ;
if ($foto == ($aantal -1)) {
$foto = '0';
}
echo "<center><img src=\"$dir/$afbeeld[$foto]\" width=\"850\"></br>";
echo '<a href="javascript:window.close();">Terug naar de website</a></center>';
?>
<META http-equiv="Refresh" content="4 URL=randfoto2.php?map=<?="$dir"?>&foto=<?="$foto"?>"> <?
}
?>
session_start();
echo'<style type="text/css">
<!--
body {
background-color: #D3DCE6;
}
-->
</style>';
$dir = $_GET['map'];
if (empty($_GET['foto'])){
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
if(($file !== ".") && ($file !== "..") && ($file !== "thumbs")&& ($file !== "thumbsgroot"))
{
list($filename, $ext) = explode(".", $file);
$afbeeld[] = $file;
}
}
closedir($dh);
}
}
$aantal = count($afbeeld);
echo "<center><img src=\"$dir/$afbeeld[0]\" width=\"850\"></br>";
echo '<a href="javascript:window.close();">Terug naar de website</a></center>';
?><META http-equiv="Refresh" content="4 URL=randfoto2.php?map=<?="$dir"?>&foto=1">
<?
}
else
{
if (is_dir($dir))
{
if ($dh = opendir($dir))
{
while (($file = readdir($dh)) !== false)
{
if(($file !== ".") && ($file !== "..") && ($file !== "thumbs")&& ($file !== "thumbsgroot"))
{
list($filename, $ext) = explode(".", $file);
$afbeeld[] = $file;
}
}
closedir($dh);
}
}
$aantal = count($afbeeld);
$foto = ($foto + 1 ) ;
if ($foto == ($aantal -1)) {
$foto = '0';
}
echo "<center><img src=\"$dir/$afbeeld[$foto]\" width=\"850\"></br>";
echo '<a href="javascript:window.close();">Terug naar de website</a></center>';
?>
<META http-equiv="Refresh" content="4 URL=randfoto2.php?map=<?="$dir"?>&foto=<?="$foto"?>"> <?
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Dennis Messing
Paar voorbeelden daarvan:
Code (php)
Je controleer of $_GET['foto'] leeg is, dit doe je niet voor $_GET['map']...
Ook ben ik het niet eens met dit stukje:
Wat nou als ik een bestandsnaam heb die er als volgt uit ziet: dennis.messing.txt ?
Ook een meta tag midden op de pagina is niet netjes.
Ook heb de de ene echo met een dubbele quote (") en de andere met een single quote (').
Gebruik gewoon altijd single, en dan heb je voor html geen blackslash nodig.
Ook is het mooier om een variabele buiten quotes te houden (vooral als je werkt met single quotes, dan is het verplicht).
En html tag center is ook een beetje ouderwets. Dit kun je dmv CSS oplossen, text-align...
En de code
Kan beter als
Integers buiten quotes:
Dat waren een aantal punten. Succes :)
Gewijzigd op 01/01/1970 01:00:00 door Dennis Mertens
volgens mij kan dit niet anders, ik kom namelijk uit een ander script, mijn fotoalbum en daar selecteer ik dus al op de map waarvan ik een diavoorstelling wil zien.
Quote:
Wat nou als ik een bestandsnaam heb die er als volgt uit ziet: dennis.messing.txt ?
bij het maken van het fotoalbum gebruik ik een uploadscript waarbij al op extensies wordt gecontroleerd, vandaar dat ik er niet aan heb gedacht. met andere woorden, in deze map kunnen alleen maar foto's staan.
Hoe ontkom ik aan die metatag midden op de pagina dan?
Nogmaals bedankt voor je uitleg! Ik zal het script eens aanpassen en misschien zou je dan nogmaals willen kijken?