plaatjes weergeven na scandir
Ik heb een simpel script geschreven dat directories scant, en de plaatjes die erin zitten weergeeft op de volgende pagina. Echter werkt het niet helemaal.. waar zit hier de fout?
Als er een $_GET['dir'] geset is dan geeft ie de regel bovenaan wel weer, maar geen plaatjes oid
als er geen $_GET['dir'] geset is dan geeft ie alleen 1 listitem waar nix achterstaat.. Wat doe ik fout?
btw ik heb php 5.1.4 op mijn server.
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
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
<html>
<head>
<title>Foto Display<?php if( isset( $_GET['dir'] ) ) { echo " - ". $dir; } ?></title>
</head>
<body>
<?php
if ( !isset ( $_GET['dir'] ) )
{
$aDirs = scandir ('/fotos/') ;
echo "<ul type='disc'>";
foreach( $aDirs as $Dir ) {
if ( is_dir ( $Dir ) )
{
if ( $Dir != "." or $Dir != ".." )
{
echo "<li><a href='./fotodownload.php?dir=". $dir ."'>". $dir ."</a></li>";
}
}
}
echo "</ul>";
}
elseif ( isset ( $_GET['dir'] ) )
{
echo "Je bekijkt nu de fotos van ". $_GET['dir'] .". <a href='./fotodownload.php'>Selecteer hier een andere map.</a>";
$sDir = $_GET['dir'];
$aFotos = scandir('./fotos/'. $sDir .'/images/');
foreach ( $aFotos as $sFoto )
{
if ( !is_dir( $sFoto ) )
{
if ( strstr( $sFoto ) == ".jpg" or strstr( $sFoto ) == ".bmp" or strstr( $sFoto ) == ".jpeg" or strstr( $sFoto ) == ".gif" )
{
echo "<a href='./fotos/". $aDir ."/images/". $sFoto ."'><img src='./fotos/". $aDir ."/images/". $sFoto ."' /></a>";
}
}
}
}
?>
</body>
</html>
<head>
<title>Foto Display<?php if( isset( $_GET['dir'] ) ) { echo " - ". $dir; } ?></title>
</head>
<body>
<?php
if ( !isset ( $_GET['dir'] ) )
{
$aDirs = scandir ('/fotos/') ;
echo "<ul type='disc'>";
foreach( $aDirs as $Dir ) {
if ( is_dir ( $Dir ) )
{
if ( $Dir != "." or $Dir != ".." )
{
echo "<li><a href='./fotodownload.php?dir=". $dir ."'>". $dir ."</a></li>";
}
}
}
echo "</ul>";
}
elseif ( isset ( $_GET['dir'] ) )
{
echo "Je bekijkt nu de fotos van ". $_GET['dir'] .". <a href='./fotodownload.php'>Selecteer hier een andere map.</a>";
$sDir = $_GET['dir'];
$aFotos = scandir('./fotos/'. $sDir .'/images/');
foreach ( $aFotos as $sFoto )
{
if ( !is_dir( $sFoto ) )
{
if ( strstr( $sFoto ) == ".jpg" or strstr( $sFoto ) == ".bmp" or strstr( $sFoto ) == ".jpeg" or strstr( $sFoto ) == ".gif" )
{
echo "<a href='./fotos/". $aDir ."/images/". $sFoto ."'><img src='./fotos/". $aDir ."/images/". $sFoto ."' /></a>";
}
}
}
}
?>
</body>
</html>
Als er een $_GET['dir'] geset is dan geeft ie de regel bovenaan wel weer, maar geen plaatjes oid
als er geen $_GET['dir'] geset is dan geeft ie alleen 1 listitem waar nix achterstaat.. Wat doe ik fout?
btw ik heb php 5.1.4 op mijn server.
Gewijzigd op 01/01/1970 01:00:00 door Pieter Joordens
Print de inhoud van $aDirs en $aFotos eens op het scherm en controleer of er wel datgene in staat dat jij zou verwachten...
Weet je zeker dat het map-ding goed is?
Dus:
Dus:
als ik die $aDirs en $aFotos echo dan geeft ie alleen het woord Array, voor beide vars weer, voor de rest niet.
de map fotos zit in dezelfde map als waar het script in staat:
wwwroot
-index.php
-fotodownload.php
-fotos
--map
---images
----een hoop fotos
---thumbnails
----een hoop thumbnails
--map
---enz..
de map fotos zit in dezelfde map als waar het script in staat:
wwwroot
-index.php
-fotodownload.php
-fotos
--map
---images
----een hoop fotos
---thumbnails
----een hoop thumbnails
--map
---enz..
Gewijzigd op 01/01/1970 01:00:00 door Pieter Joordens
geef eens een print_r() op die arrays...
Dan geeft ie wel de mappen weer die hij moet doen ;) maar hij zet ze nog steeds nie in een list.. :s
laat maar.. het is al gelukt met andere hulp ;) toch bedankt allemaal :)
Gewijzigd op 01/01/1970 01:00:00 door Pieter Joordens




