Tutorials
Directory's uitlezen in PHP 5
PHP 5 biedt nieuwe mogelijkheden tot het uitlezen van mappen, namelijk via OOP
Pagina 1
Hoe deden we dat ook al weer: opendir()
een terugblik op PHP 4
Waarschijnlijk heb je er al eens mee te maken gehad. Je moest de bestanden in de directory hebben. Kortom je kwam terecht bij de functie [php]opendir()[/php] en [php]closedir()[/php].
Om precies te zijn ging dat zo:
Vervolgens werden er structuren met is_dir() en is_file() toegevoegd.
Volgens sommige onnodig moeilijk daarom schept PHP 5 nieuwe mogelijkheden doormiddel van OOP; Geboren is DirectoryIterator(dir)
Waarschijnlijk heb je er al eens mee te maken gehad. Je moest de bestanden in de directory hebben. Kortom je kwam terecht bij de functie [php]opendir()[/php] en [php]closedir()[/php].
Om precies te zijn ging dat zo:
<?php
// Openen
$current_dir = opendir($dir);
// Doorlopen
while($entryname = readdir($current_dir))
{
// Controlleren of het niet . of .. is
if($entryname != "." and $entryname!="..")
{
echo $entryname . "\r\n";
}
}
// Sluiten
closedir($current_dir);
?>Vervolgens werden er structuren met is_dir() en is_file() toegevoegd.
Volgens sommige onnodig moeilijk daarom schept PHP 5 nieuwe mogelijkheden doormiddel van OOP; Geboren is DirectoryIterator(dir)
Pagina 2
Kort voorbeeld hoe het kan met PHP 5
<?php
// Openen
$dir = new DirectoryIterator('.');
// Doorlopen
foreach ($dir as $file)
{
echo $file."\r\n";
}
?>Om nu te controleren of het een . of .. is gebruiken we de methode isDot()
<?php
// Openen
$dir = new DirectoryIterator('.');
// Doorlopen
foreach ($dir as $file)
{
if (! $file->isDot())
{
echo $file."\r\n";
}
}
?>Maar er kan meer.
Pagina 3
Methodes
Hieronder vindt je een lijstje met methodes die beschikbaar zijn:
getPath()
geeft terug: string
Geeft het pad terug dat geopend is.
getFilename()
geeft terug: string
Geeft alleen de bestandsnaam terug (dus zonder eventueel pad)
getPathname()
geeft terug: string
Geeft het volledige pad en de bestandsnaam terug
isDir()
geeft terug: boolean
Bij een directory geeft deze methode true
isDot()
geeft terug: boolean
Bij een . of .. geeft deze methode true
Er zijn nog veel meer methodes beschikbaar, de documentatie is echter op dit moment erg schaars:
Overzicht: http://nl3.php.net/manual/nl/ref.spl.php
Actuele versie is altijd te vinden op mijn eigen site: http://webmakerij.markei.nl/artikelen/directorys_uitlezen_in_php5.php
getPath()
geeft terug: string
Geeft het pad terug dat geopend is.
getFilename()
geeft terug: string
Geeft alleen de bestandsnaam terug (dus zonder eventueel pad)
getPathname()
geeft terug: string
Geeft het volledige pad en de bestandsnaam terug
isDir()
geeft terug: boolean
Bij een directory geeft deze methode true
isDot()
geeft terug: boolean
Bij een . of .. geeft deze methode true
Er zijn nog veel meer methodes beschikbaar, de documentatie is echter op dit moment erg schaars:
Overzicht: http://nl3.php.net/manual/nl/ref.spl.php
Actuele versie is altijd te vinden op mijn eigen site: http://webmakerij.markei.nl/artikelen/directorys_uitlezen_in_php5.php
Reacties
0