readdir

readdir -- lees een entry uit een directory handle

Beschrijving

string readdir ( resource dir_handle)

Geeft de bestandsnaam van het volgende bestand in de directory . De bestandsnamen worden teruggegeven in de volgorde waarin ze zijn opgeslagen in het bestandssysteem .

Let erop op welke manier de return value van dir( ) wordt gecontroleerd . Je moet expliciet testen of de return value identiek is aan ( gelijk is en van hetzelfde type is - - zie Vergelijkings operators voor meer informatie ) FALSE omdat anders een directory entry dat evalueert als FALSE de loop zal stoppen (b.v . door een directory genaamd "0" ) .

Voorbeeld 1 . Druk een lijst af van alle bestanden in de huidige directory

 
/

 
/

 
Merk

 
op

 
dat

 
!==

 
niet

 
bestond

 
tot

 
4.0.0-RC2

 
 ?php

 
if

 
(

 
$handle

 
=

 
opendir('

 
/

 
path

 
/

 
to

 
/

 
files')

 
)

 
{

 
echo

 
"Directory

 
handle

 
:

 
$handle\n"

 
;

 
echo

 
"Files:\n"

 
;

 
/

 
*

 
Dit

 
is

 
de

 
juiste

 
manier

 
om

 
door

 
een

 
directory

 
te

 
wandelen

 
.

 
*

 
/

 
while

 
(false

 
!==

 
($file

 
=

 
readdir($handle))

 
)

 
{

 
echo

 
"$file\n"

 
;

 
    }

 
/

 
*

 
Dit

 
is

 
de

 
VERKEERDE

 
manier

 
om

 
door

 
een

 
directory

 
te

 
wandelen

 
.

 
*

 
/

 
while

 
($file

 
=

 
readdir($handle)

 
)

 
{

 
echo

 
"$file\n"

 
;

 
    }

 
closedir($handle)

 
;

 
}

 
?





Let erop dat readdir( ) ook de . en . . bestanden teruggeeft . Als je deze niet wilt , verwijder ze dan simpel :

Voorbeeld 2 . Druk alle bestanden behalve . en . . af in de huidige directory .

 
?php

 
$handle=opendir(

 
'

 
.')

 
;

 
while

 
(false!==($file

 
=

 
readdir($handle))

 
)

 
{

 
if

 
($file

 
!=

 
"

 
.

 
"

 
$file

 
!=

 
".

 
."

 
)

 
{

 
echo

 
"$file\n"

 
;

 
}

 
}

 
closedir($handle)

 
;

 
?