# Gepost op 13-09-2010 13:43
In deze tutorial leer ik je hoe je een PHP functie kan schrijven die een map uitleest en de bestanden die erin staan terug geeft. Je kunt hiermee makkelijk aangeven wat je wel en niet wilt laten zien.
Stap een
Maak een nieuw PHP bestand aan met de PHP open en PHP sluiten tags.
Maak in dit bestand een nieuwe functie genaamd directorylisting:
Even wat uitleg: De variabele dir word gebruikt om aan te geven welke map uitgelezen moet worden. De variabele dontshow gebruik je om aan te geven welke bestanden en/of mappen je niet wilt laten weergeven.
Stap twee
Goed. Gaan we nu weer verder. Een functie doet natuurlijk weinig als je er niks inzet. Ik ga beginnen met de code om bestanden en mappen te negeren. Pas de functie aan tot het overeen komt met wat hieronder staat:
Huh? De variabele om iets niet te tonen was toch 'dontshow'? Ja, dat klopt. Dontshow voegt zijn items toe aan de ignore variabele! Je hoeft dus niet perse $dontshow in te vullen als je alleen de huidige map en een map hoger wilt verbergen. Slim he?
Maar goed, je moet $dontshow dus wel koppelen aan $ignore. Dat ziet er zo uit:
Stap drie
Nu gaan we daadwerkelijk een map uitlezen. Dit script heb ik bijna letterlijk van php.net/readdir overgenomen dus als je meer wilt weten daarover: php.net readdir
Pas de code aan tot je dit hebt:
Dat was het! Een voorbeeld om deze functie te gebruiken:
Stap een
Maak een nieuw PHP bestand aan met de PHP open en PHP sluiten tags.
Maak in dit bestand een nieuwe functie genaamd directorylisting:
- <?php
- {
- }
- ?>
Even wat uitleg: De variabele dir word gebruikt om aan te geven welke map uitgelezen moet worden. De variabele dontshow gebruik je om aan te geven welke bestanden en/of mappen je niet wilt laten weergeven.
Stap twee
Goed. Gaan we nu weer verder. Een functie doet natuurlijk weinig als je er niks inzet. Ik ga beginnen met de code om bestanden en mappen te negeren. Pas de functie aan tot het overeen komt met wat hieronder staat:
- <?php
- {
- }
- ?>
Huh? De variabele om iets niet te tonen was toch 'dontshow'? Ja, dat klopt. Dontshow voegt zijn items toe aan de ignore variabele! Je hoeft dus niet perse $dontshow in te vullen als je alleen de huidige map en een map hoger wilt verbergen. Slim he?
Maar goed, je moet $dontshow dus wel koppelen aan $ignore. Dat ziet er zo uit:
- <?php
- {
- {
- foreach($dontshow as $dontshowfile)
- {
- $ignore[] = $dontshowfile;
- }
- }
- }
- ?>
Stap drie
Nu gaan we daadwerkelijk een map uitlezen. Dit script heb ik bijna letterlijk van php.net/readdir overgenomen dus als je meer wilt weten daarover: php.net readdir
Pas de code aan tot je dit hebt:
- <?php
- {
- {
- foreach($dontshow as $dontshowfile)
- {
- $ignore[] = $dontshowfile;
- }
- }
- {
- {
- {
- print '<li><a href=" '.$file.' ">'.$file.'</a></li>';
- }
- }
- }
- }
- ?>
Dat was het! Een voorbeeld om deze functie te gebruiken:
- <ul>
- <?php directorylisting('/cms/', array('CSS', 'JS')); // Dit toont alles in de map CMS, met uitzondering van de mappen CSS en JS
- </ul>
Mijn software heeft geen bugs. Het ontwikkelt gewoon ongedocumenteerde functies.