paging van een readdir() script
dit is mijn script
JD Gallery
Eerst dit maar even, om niet met de eer te gaan strijken, deze gast is een genie!
Deze slideshow geeft alle tumbs weer, maar zelfs met 10000 foto's doet hij het nog goed (hij begint met afspelen met de foto's die hij al heeft geladen, hij doet 2 dingen tegelijkertijd)
even een korte beschrijving:
1. Download de .zip van de site (http://github.com/jon1012/smoothgallery/zipball/master)
2. in de header:
Code (php)
1
2
3
4
5
2
3
4
5
<?
<script src="scripts/mootools.v1.11.js" type="text/javascript"></script>
<script src="scripts/jd.gallery.js" type="text/javascript"></script>
<link rel="stylesheet" href="css/jd.gallery.css" type="text/css" media="screen" />
?>
<script src="scripts/mootools.v1.11.js" type="text/javascript"></script>
<script src="scripts/jd.gallery.js" type="text/javascript"></script>
<link rel="stylesheet" href="css/jd.gallery.css" type="text/css" media="screen" />
?>
En op de pagina zelf:
En dan bij elke foto die erop moet:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
<div id="mijn gallerij">
<div id="gallerij" class="galleryElement">
<h2>Naam gallerij</h2>
<div class="imageElement">
<h3>Title Foto1</h3>
<p>Beschrijving</p>
<a href="image URL" title="open image" class="open"></a>
<img src="URL foto1" class="full" />
<img src="URL Thumb1" class="thumbnail" />
</div>
<div class="imageElement">
<h3>Title Foto2</h3>
<p>Beschrijving</p>
<a href="image URL" title="open image" class="open"></a>
<img src="URL foto1" class="full" />
<img src="URL foto2" class="thumbnail" />
</div>
</div>
</div>
</div>
?>
<div id="mijn gallerij">
<div id="gallerij" class="galleryElement">
<h2>Naam gallerij</h2>
<div class="imageElement">
<h3>Title Foto1</h3>
<p>Beschrijving</p>
<a href="image URL" title="open image" class="open"></a>
<img src="URL foto1" class="full" />
<img src="URL Thumb1" class="thumbnail" />
</div>
<div class="imageElement">
<h3>Title Foto2</h3>
<p>Beschrijving</p>
<a href="image URL" title="open image" class="open"></a>
<img src="URL foto1" class="full" />
<img src="URL foto2" class="thumbnail" />
</div>
</div>
</div>
</div>
?>
Dit zorgt echt voor een daverend resultaat :P
PS ik weet dat er waarschijnlijk al 5 voor me zijn geweest maar toen ik begin was ik de 1e :P
Edit:
Gewijzigd op 01/01/1970 01:00:00 door Leon
ja meestal is het rustig om half 1:P
Blijkt wel weer :P (nu weer verder met de vraag)
BTW Ik heb geen id wat je kan met readdir() dus eigenlijk moet ik me er niet mee bemoeien :P
Leon schreef op 04.01.2010 00:48:
@bas off-topiciger
Blijkt wel weer :P (nu weer verder met de vraag)
BTW Ik heb geen id wat je kan met readdir() dus eigenlijk moet ik me er niet mee bemoeien :P
Blijkt wel weer :P (nu weer verder met de vraag)
BTW Ik heb geen id wat je kan met readdir() dus eigenlijk moet ik me er niet mee bemoeien :P
Met readdir() kan je een directory uitlezen, oftewel een map waarin je zoals ik bijvoorbeeld foto's kan zetten zo hoef je niet eerst alle foto's in je script te zetten maar doet php dat voor je
Hij zorgt ervoor dat je 3x3 fotos laat zien per pagina dit kun je aan passen kijk zelf maar even.
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
<?php
$dir = 'fotos/';
$handle = opendir($dir);
while ($file = readdir($handle))
{
if($file == '.' OR $file == '..')
continue;
else
$result_array[]=$file;
}
closedir($handle);
array_multisort($result_array, SORT_DESC);
$rows = 3;
$cols = 3;
if(isset($_GET['page']))
{
$page = $_GET['page'];
}
else
{
$page = 0;
}
$num_pics = count($result_array);
$cells = $rows * $cols;
$pages = ceil($num_pics / ($rows * $cols));
$num_pages = $pages - 1;
$output = array();
$slices = array();
$push = 0;
$showpage = $page + 1;
for($k=0;$k<$pages;$k++)
{
array_push($slices, $push);
$push = $push + $cells;
}
for($k=0;$k<$pages;$k++)
{
if($page == key($slices))
{
$output = array_slice($result_array, current($slices), $cells);
}
next($slices);
}
reset($output);
print "<center>\n<table width='*' border='1' bordercolor='#fff' cellspacing='0' cellpadding='10'>\n";
for($i=0;$i<$rows;$i++)
{
print "\t<tr>\n";
for($j=0;$j<$cols;$j++)
{
if(current($output) != false)
{
$pic = current($output);
$size = getimagesize($dir.$pic);
$height_button = $size[1] + 150;
$value = current($output);
print "\t\t<td width='75' height='75' align=center>\n\t\t\t<a href=$dir$value>\n\t\t\t\t<img width='75' height='75' border='0' src='$dir$value'>\n\t\t\t</a>\n\t\t</td>\n\n";
next($output);
}
else
{
print "\t\t<td width='100' height='100' align='center'> </td>\n";
}
}
print "\t</tr>\n";
}
$ref = $_SERVER['PHP_SELF'];
print "</table>\n";
if($num_pages == '0')
{
print "<span>[ </span>";
print "vorige";
print "<span> ] </span>";
print "<span> [ </span>";
print "volgende";
print "<span> ]</span>";
}
elseif(($page == '0')||($page == ''))
{
$next = $page + 1;
print "<span>[ </span>";
print "vorige";
print "<span> ] </span>";
$page_link = 1;
for($k=0;$k<$pages;$k++)
{
if($k == $page)
{
print "$page_link ";
}
else
{
print "<a href='$ref?page=$k'>$page_link</a> ";
}
$page_link++;
}
print "<span> [ </span>";
print "<a href='$ref?page=$next'>volgende</a>";
print "<span> ]</span>";
}
elseif($page == $num_pages)
{
$prev = $page - 1;
print "<span>[ </span>";
print "<a href='$ref?page=$prev'>vorige</a>";
print "<span> ] </span>";
$page_link = 1;
for($k=0;$k<$pages;$k++)
{
if($k == $page)
{
print "$page_link ";
}
else
{
print "<a href='$ref?page=$k'>$page_link</a> ";
}
$page_link++;
}
print "<span> [ </span>";
print "volgende";
print "<span> ]</span>";
}
else
{
$next = $page + 1;
$prev = $page - 1;
print "<span>[ </span>";
print "<a href='$ref?page=$prev'>vorige</a>";
print "<span> ] </span>";
$page_link = 1;
for($k=0;$k<$pages;$k++)
{
if($k == $page)
{
print "$page_link ";
}
else
{
print "<a href='$ref?page=$k'>$page_link</a> ";
}
$page_link++;
}
print "<span> [ </span>";
print "<a href='$ref?page=$next'>volgende</a>";
print "<span> ]</span>";
}
print "<br><br>";
print "Pagina: $showpage van $pages";
?>
$dir = 'fotos/';
$handle = opendir($dir);
while ($file = readdir($handle))
{
if($file == '.' OR $file == '..')
continue;
else
$result_array[]=$file;
}
closedir($handle);
array_multisort($result_array, SORT_DESC);
$rows = 3;
$cols = 3;
if(isset($_GET['page']))
{
$page = $_GET['page'];
}
else
{
$page = 0;
}
$num_pics = count($result_array);
$cells = $rows * $cols;
$pages = ceil($num_pics / ($rows * $cols));
$num_pages = $pages - 1;
$output = array();
$slices = array();
$push = 0;
$showpage = $page + 1;
for($k=0;$k<$pages;$k++)
{
array_push($slices, $push);
$push = $push + $cells;
}
for($k=0;$k<$pages;$k++)
{
if($page == key($slices))
{
$output = array_slice($result_array, current($slices), $cells);
}
next($slices);
}
reset($output);
print "<center>\n<table width='*' border='1' bordercolor='#fff' cellspacing='0' cellpadding='10'>\n";
for($i=0;$i<$rows;$i++)
{
print "\t<tr>\n";
for($j=0;$j<$cols;$j++)
{
if(current($output) != false)
{
$pic = current($output);
$size = getimagesize($dir.$pic);
$height_button = $size[1] + 150;
$value = current($output);
print "\t\t<td width='75' height='75' align=center>\n\t\t\t<a href=$dir$value>\n\t\t\t\t<img width='75' height='75' border='0' src='$dir$value'>\n\t\t\t</a>\n\t\t</td>\n\n";
next($output);
}
else
{
print "\t\t<td width='100' height='100' align='center'> </td>\n";
}
}
print "\t</tr>\n";
}
$ref = $_SERVER['PHP_SELF'];
print "</table>\n";
if($num_pages == '0')
{
print "<span>[ </span>";
print "vorige";
print "<span> ] </span>";
print "<span> [ </span>";
print "volgende";
print "<span> ]</span>";
}
elseif(($page == '0')||($page == ''))
{
$next = $page + 1;
print "<span>[ </span>";
print "vorige";
print "<span> ] </span>";
$page_link = 1;
for($k=0;$k<$pages;$k++)
{
if($k == $page)
{
print "$page_link ";
}
else
{
print "<a href='$ref?page=$k'>$page_link</a> ";
}
$page_link++;
}
print "<span> [ </span>";
print "<a href='$ref?page=$next'>volgende</a>";
print "<span> ]</span>";
}
elseif($page == $num_pages)
{
$prev = $page - 1;
print "<span>[ </span>";
print "<a href='$ref?page=$prev'>vorige</a>";
print "<span> ] </span>";
$page_link = 1;
for($k=0;$k<$pages;$k++)
{
if($k == $page)
{
print "$page_link ";
}
else
{
print "<a href='$ref?page=$k'>$page_link</a> ";
}
$page_link++;
}
print "<span> [ </span>";
print "volgende";
print "<span> ]</span>";
}
else
{
$next = $page + 1;
$prev = $page - 1;
print "<span>[ </span>";
print "<a href='$ref?page=$prev'>vorige</a>";
print "<span> ] </span>";
$page_link = 1;
for($k=0;$k<$pages;$k++)
{
if($k == $page)
{
print "$page_link ";
}
else
{
print "<a href='$ref?page=$k'>$page_link</a> ";
}
$page_link++;
}
print "<span> [ </span>";
print "<a href='$ref?page=$next'>volgende</a>";
print "<span> ]</span>";
}
print "<br><br>";
print "Pagina: $showpage van $pages";
?>