meerdere diectory's uitlezen.

Zelf bezig aan een modificatie? Wij kijken graag mee..
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
petjes
Berichten: 116
Lid geworden op: 14 jan 2006, 15:27
Contacteer:

meerdere diectory's uitlezen.

Bericht door petjes » 11 jul 2006, 10:09

Ben zelf bezig met een foto album te maken.

Maar wat ik eigenlijk wil is dat er meerdere directory's worden uitgelezen, waar foto's staan.
Dit omdat er in verschillende directory's foto's staan.

$dir = 'files/';
//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);
?>


Volgens dit script, haalt ie nu de foto''s uit de FILES directory.
Maar ik wil bijv ook wat halen uit een IMAGES directory.
Iemand enig idee.

Groetjes Patrick.

Gebruikersavatar
Stef
Berichten: 9080
Lid geworden op: 04 jun 2003, 20:47

Bericht door Stef » 11 jul 2006, 11:58

Hetzelfde script herhalen voor de images/ dir?

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20206
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 11 jul 2006, 13:00

Code: Selecteer alles

$dir2 = array('files/','images');
foreach($dir2 as $dir){
//inhoud van de directory ophalen
$handle = opendir($dir);
while ($file = readdir($handle))
{
if($file == '.' || $file == '..')
continue;
else
$result_array[]=$dir . $file;
}
closedir($handle);
}
array_multisort($result_array, SORT_DESC);
?> 
Moet werken denk ik.

petjes
Berichten: 116
Lid geworden op: 14 jan 2006, 15:27
Contacteer:

Bericht door petjes » 11 jul 2006, 20:41

ik krijg het niet goed werkend, ik zal het hele script hier plaatsen.

Code: Selecteer alles





<p align="center"><b><font size="5" face="Courier">FotoAlbum in de Beta versie:</font></b></p>
<p align="center"><font face="Arial" size="2">Hier een tijdelijk foto album, om
enkele foto's te bekijken die geplaatst zijn door de gebruikers van het Forum.</font></p>
<p align="center"><font face="Arial" size="2">Het is allemaal nog in een test fase.</font></p>





<?php 



$dir = 'images/random/'; 
//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=no,toolbar=no');
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 = 2; 
$cols = 4; 

//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='3' bordercolor='#000000' cellspacing='10' cellpadding='12'>\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='140' 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. 
$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 == '')) 
        { 
                // 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='$ref?page=$k'>$page_link</a>&nbsp;"; 
                        } 
                        $page_link++; 
                } 

                print "<span> [ </span>"; 
                print "<a href='$ref?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='$ref?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='$ref?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='$ref?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='$ref?page=$k'>$page_link</a>&nbsp;"; 
                        } 
                        $page_link++; 
                } 

                print "<span> [ </span>"; 
                print "<a href='$ref?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>

</body>

</html>

Dus ik wil meerdere directory's uitlezen, heeft iemand enig idee om dit te realiseren.

Patrick

petjes
Berichten: 116
Lid geworden op: 14 jan 2006, 15:27
Contacteer:

Bericht door petjes » 04 aug 2006, 21:33

kan iemand mijn misschien nog tips geven, alvast bedankt.
Iedereen is volgens mij op vakantie

ik wil dus uit een andere directory ook foto's laten zien.

Alvast bedankt Patrick.

Gesloten