PHP Doku:: Schließen eines Verzeichnis-Handles - function.closedir.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzDateisystemrelevante ErweiterungenVerzeichnis-FunktionenVerzeichnis-Funktionenclosedir

Ein Service von Reinhard Neidl - Webprogrammierung.

Verzeichnis-Funktionen

<<dir

getcwd>>

closedir

(PHP 4, PHP 5)

closedirSchließen eines Verzeichnis-Handles

Beschreibung

void closedir ([ resource $dir_handle ] )

Schließt den in dir_handle angegebenen Verzeichnis-Stream. Der Stream muss zuvor mittels opendir() geöffnet worden sein.

Parameter-Liste

dir_handle

Das Verzeichnis-Handle resource, das zuvor mit opendir() geöffnet wurde. Wenn das Verzeichnis-Handle nicht angegeben ist, wird dasjenige verwendet, das auf das zuletzt mittels opendir() geöffnete Verzeichnis zeigt.

Beispiele

Beispiel #1 closedir() Beispiel

<?php
$dir 
"/etc/php5/";

// Öffnet ein bekanntes Verzeichnis, liest das Verzeichnis in eine Variable
// ein und schließt es danach
if (is_dir($dir)) {
    if (
$dh opendir($dir)) {
        
$directory readdir($dh);
        
closedir($dh);
    }
}
?>


2 BenutzerBeiträge:
- Beiträge aktualisieren...
lester.k at virgin.com
22.02.2008 19:27
The manual says that one should only call closedir with a parameter which is an open directory handle.

The manual usually lists warnings and errors generated by violating a "should" or "shouldn't", but doesn't for this case.

In fact, one gets the runtime error
   Warning: closedir(): supplied argument is not a valid Directory resource in whatever.php on line nn
irrespective of whether it's an already-closed directory handle or whether it's total junk.

[Different error messages would have spared me a little debugging. Sigh. It would be nice if the manual said.]
foo at bar dot com
24.11.2000 19:35
About deleting a directory after doing a readdir/closedir on it... I'm not sure if this is the solution, but you could try to chdir("/"); before the rmdir to make absolutely sure you aren't standing in the directory (i.e trying to pull out the rug from under yourself).



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)