alle images in dir weergeven

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

20/04/2004 08:59:00
Quote Anchor link
Ik ben op zoek naar een script wat alle images in een directory weergeeft.
Ik heb namelijk een directory vol met screenshots staan en om die allemaal handmatig op een pagina te plaatsen in html is onbegonnen werk.

Als het mogelijk is dan graag maximaal 14 images per pagina, en elk plaatje op 25% weergeven.

Misschien is het teveel gevraagt maar als iemand het heeft ben ik erg dankbaar.

Greetz Sickness
[email protected]
 
PHP hulp

PHP hulp

24/12/2024 02:31:47
 
B a s
Beheerder

B a s

20/04/2004 10:14:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
    $dir
= "plaatjes";
    $all_in_dir = readdir($dir);
    echo $all_in_dir;
?>


:)
 

20/04/2004 10:22:00
Quote Anchor link
werkt niet :(
mijn pagina blijft blank.
 

20/04/2004 10:28:00
Quote Anchor link
<html>
<head>
<title>.:: online foto album ::.</title>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php

//LET OP!!! Hier moet je de directory invullen waar je foto's staan
//vergeet niet de "/" op het einde ;-)
//deze directory gaat uit van het pad waar index.php staat. Ook geen
//leading "/" gebruiken dus.


$dir = 'foto/';

//inhoud van de directory ophalen
$handle = opendir($dir);

while ($file = readdir($handle))
{

        if($file == '.' || $file == '..')
                continue;
        else
                $result_array[]=$file;
}

closedir($handle);

array_multisort($result_array, SORT_DESC);

?>


<script language="JavaScript">

<!--

function laatZien(fotonr, hoogte, breedte, src)
{
foto = window.open('','','menubar=yes,toolbar=nu');
foto.resizeTo(breedte,hoogte);
foto.document.write("<html><head><title>Foto - " + fotonr + "</title></head><body leftmargin='0' topmargin='0'>");
foto.document.write("<center><img src=" + src + fotonr + "><center><br>");
foto.document.write("<center><font face='Arial, Helvetica, sans-serif' size='2'>.::<a href='JavaScript:window.close();'> Sluit venster </a>::.</font></center>");
foto.document.write("</body></html>");
}

!-->

</script>

</head>

<style>

body

{
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
color: #000000;
background-color: #FFFFFF
}
span
{
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
color: #CC6633
}

a:link { color: #000000; font-size: 12px }
a:visited { color: #31928C; font-size: 12px }
a:active { color: #CCFFCC; font-size: 12px }
a:hover { color: #CC3333; font-size: 12px }

</style>

<body>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
<?php

//aantal rijen en kolommen in stellen. De dir waar je je foto's moet in zetten heet "foto". Deze index.php moet
//één directory hoger staan :-)
//Wil je dat wijzigen, dan moet je niet vergeten het stukje JavaScript hier boven ook te wijzigen.
//ik had de tabellen ook vanaf hier willen configgen, maar dat zijn slechts 3 regels dus dat
//doe je zelf maar :-P

$rows = 3;
$cols = 3;

//pagina nummer ophalen, indien geen pagina nummer op 0 zetten
if(isset($_GET['page']))
{

        $page = $_GET['page'];
}

else
{
        $page = 0;
}


//totaal aantal foto's, om het aantal pagina's uit te rekenen
$num_pics = count($result_array);

//wat vars en andere rommel om de juiste pagina's en array's door te lopen
$cells = $rows * $cols;
$pages = ceil($num_pics / ($rows * $cols));
$num_pages = $pages - 1;
$output = array();
$slices = array();
$push = 0;
$showpage = $page + 1;

//array vullen met waarden voor de slice om afbeeldingen per pagina weer te geven
for($k=0;$k<$pages;$k++)
{

        array_push($slices, $push);
        $push = $push + $cells;
}


//lusje om te kijken op welke pagina we zijn en vervolgens de goede set afbeeldingen uit $result_array halen
for($k=0;$k<$pages;$k++)
{

        if($page == key($slices))
        {

                $output = array_slice($result_array, current($slices), $cells);
        }

        next($slices);
}


reset($output);

//afbeelden van afbeeldingen
print "<center>\n<table width='*' border='1' bordercolor='#000000' cellspacing='0' cellpadding='2'>\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] + 70;
                        $value = current($output);
                        print "\t\t<td width='100' height='100' align=center>\n\t\t\t<a href=JavaScript:laatZien('$value',$height_button,$size[0],'$dir');>\n\t\t\t\t<img width='100' height='100' 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'>&nbsp;</td>\n";
                }
        }

        print "\t</tr>\n";
}


//hier worden de prev en next knopjes gemaakt.
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 == ''))
        {

                // geen previous knopje, begin pagina index.php?page=0
                $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&nbsp;";
                        }

                        else
                        {
                                print "<a href='index.php?page=$k'>$page_link</a>&nbsp;";
                        }

                        $page_link++;
                }


                print "<span> [ </span>";
                print "<a href='index.php?page=$next'>volgende</a>";
                print "<span> ]</span>";
        }


        elseif($page == $num_pages)
        {

                // geen next knopje, $pages = maximum
                $prev = $page - 1;

                print "<span>[ </span>";
                print "<a href='index.php?page=$prev'>vorige</a>";
                print "<span> ] </span>";

                $page_link = 1;

                for($k=0;$k<$pages;$k++)
                {

                        if($k == $page)
                        {

                                print "$page_link&nbsp;";
                        }

                        else
                        {
                                print "<a href='index.php?page=$k'>$page_link</a>&nbsp;";
                        }

                        $page_link++;
                }


                print "<span> [ </span>";
                print "volgende";
                print "<span> ]</span>";
        }


        else
        {
                // de rest, pagina's in het midden, 2 knopjes
                $next = $page + 1;
                $prev = $page - 1;

                print "<span>[ </span>";
                print "<a href='index.php?page=$prev'>vorige</a>";
                print "<span> ] </span>";

                $page_link = 1;

                for($k=0;$k<$pages;$k++)
                {

                        if($k == $page)
                        {

                                print "$page_link&nbsp;";
                        }

                        else
                        {
                                print "<a href='index.php?page=$k'>$page_link</a>&nbsp;";
                        }

                        $page_link++;
                }


                print "<span> [ </span>";
                print "<a href='index.php?page=$next'>volgende</a>";
                print "<span> ]</span>";
        }


//pagina nummer afbeelden, dit kan je er nog uit slopen of ergens anders neerkwakken
print "<br><br>";
print "Pagina: $showpage van $pages";
?>


</center>

</body>
</html>
 

20/04/2004 10:34:00
Quote Anchor link
Het enige nadeel van dit scriptje is dat alle foto's op de verkeerde volgorde komen. Heeft iemand mischien een tip hoe ik dit wijzig?
 

20/04/2004 11:00:00
Quote Anchor link
Wow prachtig en het werkt :)
Nu moet ik nog ff uitvinden hoe ervoor gezorgt kan worden dat alleen *.jpg *.jpeg en *.bmp files worden gelezen :)

Maar dat moet wel lukken

THANQ

Greetz Sickness
 
Rick

Rick

20/04/2004 11:53:00
Quote Anchor link
Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
    $dir
= "plaatjes";
    $all_in_dir = readdir($dir);
    echo $all_in_dir;
?>


:)
ik mag toch hopen dat dat als grapje bedoelt was ;)


enne als je op extensie wil controleren moet je hier eventjes wat veranderen:
while ($file = readdir($handle))
{
if($file == '.' || $file == '..')
continue;
else
$result_array[]=$file;
}
 

20/04/2004 12:00:00
Quote Anchor link
Quote:
als je op extensie wil controleren moet je hier eventjes wat veranderen:
while ($file = readdir($handle))
{
if($file == '.' || $file == '..')
continue;
else
$result_array[]=$file;
}


En hoe voeg ik dit in het script? Mijn php kennis is niet zo heel erg groot :) Ik gebruik nu dat script dat gepost is door Jos (btw ik heb overal waar index.php stond gewijzigt naar screen.php :) omdat index.php al gebruikt word op mijn site.

Greetz Sickness
 
Rick

Rick

20/04/2004 12:10:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?
while ($file = readdir($handle))
{

        if($file == '.' || $file == '..'){
                continue;
        }
else{
                $extension=strrchr($file,'.');
                if($extension=='.jpg'||$extension=='.gif'||$extension=='.bmp'){
                      $result_array[]=$file;
                }
        }
}

?>

zo zou het moeten werken :)
Gewijzigd op 20/04/2004 12:11:00 door Rick
 

20/04/2004 12:40:00
Quote Anchor link
Dus als ik het goed begrijp,
Plak dit stukje source gewoon bovenaan de pagina en het zou moeten werken?
Dan ga ik dat nu ff proberen :)

Greetz Sickness
(ps, k heb me geregistreerd maar hoe reply je als je bent ingelogt? lukt me niet)
 
Ano Niem

Ano Niem

20/04/2004 12:50:00
Quote Anchor link
inloggen lukt...


//ontopic
Als ik die code er boven plak krijg ik een parse error on line 24,
op line 24 staat:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$dir = 'screens/';


lijkt mij niet echt fout :)

Mijn hele source tot nu toe:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
<html>
<head>
<title>Screenshots</title>
<?
while ($file = readdir($handle))
{

        if($file == '.' || $file == '..'){
                continue;
        }
else{
                $extension=strrchr($file,'.');
                if($extension=='.jpg'||$extension=='.gif'||$extension=='.bmp'){
                      $result_array[]=$file;
                }
        }
}

?>

<?php
include('style.php')
//LET OP!!! Hier moet je de directory invullen waar je foto's staan
//vergeet niet de "/" op het einde ;-)
//deze directory gaat uit van het pad waar index.php staat. Ook geen
//leading "/" gebruiken dus.


$dir = 'screens/';

//inhoud van de directory ophalen
$handle = opendir($dir);

while ($file = readdir($handle))
{

        if($file == '.' || $file == '..')
                continue;
        else
                $result_array[]=$file;
}

closedir($handle);

array_multisort($result_array, SORT_DESC);

?>


<script language="JavaScript">

<!--

function laatZien(fotonr, hoogte, breedte, src)
{
        foto = window.open('','','menubar=yes,toolbar=nu');
        foto.resizeTo(breedte,hoogte);
        foto.document.write("<html><head><title>Foto - " + fotonr + "</title></head><body leftmargin='0' topmargin='0'>");
        foto.document.write("<center><img src=" + src + fotonr + "><center><br>");
        foto.document.write("<center><font face='Arial, Helvetica, sans-serif' size='2'>.::<a href='JavaScript:window.close();'> Sluit venster </a>::.</font></center>");
        foto.document.write("</body></html>");
}

!-->

</script>

</head>

<style>

body

{
        font-family: Verdana, Arial, Helvetica, sans-serif;
        font-size: 12px;
        color: #000000;
        background-color: #FFFFFF
}
span
{
        font-family: Verdana, Arial, Helvetica, sans-serif;
        font-size: 12px;
        font-weight: bold;
        color: #CC6633
}

a:link { color: #000000; font-size: 12px }
a:visited { color: #31928C; font-size: 12px }
a:active { color: #CCFFCC; font-size: 12px }
a:hover { color: #CC3333; font-size: 12px }

</style>

<body>

<?php

//aantal rijen en kolommen in stellen. De dir waar je je foto's moet in zetten heet "foto". Deze index.php moet
//één directory hoger staan :-)
//Wil je dat wijzigen, dan moet je niet vergeten het stukje JavaScript hier boven ook te wijzigen.
//ik had de tabellen ook vanaf hier willen configgen, maar dat zijn slechts 3 regels dus dat
//doe je zelf maar :-P

$rows = 3;
$cols = 3;

//pagina nummer ophalen, indien geen pagina nummer op 0 zetten
if(isset($_GET['page']))
{

        $page = $_GET['page'];
}

else
{
        $page = 0;
}


//totaal aantal foto's, om het aantal pagina's uit te rekenen
$num_pics = count($result_array);

//wat vars en andere rommel om de juiste pagina's en array's door te lopen
$cells = $rows * $cols;
$pages = ceil($num_pics / ($rows * $cols));
$num_pages = $pages - 1;
$output = array();
$slices = array();
$push = 0;
$showpage = $page + 1;

//array vullen met waarden voor de slice om afbeeldingen per pagina weer te geven
for($k=0;$k<$pages;$k++)
{

        array_push($slices, $push);
        $push = $push + $cells;
}


//lusje om te kijken op welke pagina we zijn en vervolgens de goede set afbeeldingen uit $result_array halen
for($k=0;$k<$pages;$k++)
{

        if($page == key($slices))
        {

                $output = array_slice($result_array, current($slices), $cells);
        }

        next($slices);
}


reset($output);

//afbeelden van afbeeldingen
print "<center>\n<table width='*' border='1' bordercolor='#000000' cellspacing='0' cellpadding='2'>\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] + 70;
                        $value = current($output);
                        print "\t\t<td width='100' height='100' align=center>\n\t\t\t<a href=JavaScript:laatZien('$value',$height_button,$size[0],'$dir');>\n\t\t\t\t<img width='100' height='100' 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";
}


//hier worden de prev en next knopjes gemaakt.
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 == ''))
        {

                // geen previous knopje, begin pagina index.php?page=0
                $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='screen.php?page=$k'>$page_link</a> ";
                        }

                        $page_link++;
                }


                print "<span> [ </span>";
                print "<a href='screen.php?page=$next'>volgende</a>";
                print "<span> ]</span>";
        }


        elseif($page == $num_pages)
        {

                // geen next knopje, $pages = maximum
                $prev = $page - 1;

                print "<span>[ </span>";
                print "<a href='screen.php?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='screen.php?page=$k'>$page_link</a> ";
                        }

                        $page_link++;
                }


                print "<span> [ </span>";
                print "volgende";
                print "<span> ]</span>";
        }


        else
        {
                // de rest, pagina's in het midden, 2 knopjes
                $next = $page + 1;
                $prev = $page - 1;

                print "<span>[ </span>";
                print "<a href='screen.php?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='screen.php?page=$k'>$page_link</a> ";
                        }

                        $page_link++;
                }


                print "<span> [ </span>";
                print "<a href='screen.php?page=$next'>volgende</a>";
                print "<span> ]</span>";
        }


//pagina nummer afbeelden, dit kan je er nog uit slopen of ergens anders neerkwakken
print "<br><br>";
print "Pagina: $showpage van $pages";
?>


</center>

</body>
</html>
Gewijzigd op 20/04/2004 12:51:00 door Ano Niem
 
Rick

Rick

20/04/2004 13:09:00
Quote Anchor link
include('style.php') <-- bij die ben je de ; vergeten

include('style.php'); <-- zo werkt het wel
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.