PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

getcwd> <dir
Last updated: Fri, 10 Oct 2008

view this page in

closedir

(PHP 4, PHP 5)

closedirディレクトリハンドルをクローズする

説明

void closedir ([ resource $dir_handle ] )

dir_handle で指定したディレクトリのストリームをクローズします。このストリームは、 opendir()により事前にオープンされていなければ なりません。

パラメータ

dir_handle

opendir() が事前にオープンした ディレクトリハンドルリソース。 ディレクトリハンドルを指定しなかった場合は、 opendir() が最後にオープンしたものを使用します。

例1 closedir() の例

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

// 既知のディレクトリをオープンし、変数にディレクトリを読み込んで閉じる
if (is_dir($dir)) {
    if (
$dh opendir($dir)) {
        
$directory readdir($dh);
        
closedir($dh);
    }
}
?>



add a note add a note User Contributed Notes
closedir
lester.k at virgin.com
22-Feb-2008 07: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-Nov-2000 07: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).

getcwd> <dir
Last updated: Fri, 10 Oct 2008
 
 
show source | credits | sitemap | contact | advertising | mirror sites