php opendir()函数讲解及遍历目录实例

时间:2016-09-29
php opendir()打开一个目录句柄,可用于之后的 closedir(),readdir() 和 rewinddir() 调用中。本文章向大家介绍opendir()函数的使用方法及遍历目录实例,需要的朋友可以参考一下。

opendir()函数介绍

opendir() 函数打开目录句柄。成功则返回目录句柄资源。失败则返回 FALSE。如果路径不是合法目录,或者由于许可限制或文件系统错误导致的目录不能打开,则抛出 E_WARNING 级别的错误。您可以通过在函数名称前添加 '@' 来隐藏 opendir() 的错误输出。

语法

opendir(path,context);

参数 

参数 描述
path 必需。规定要打开的目录路径。
context 可选。规定目录句柄的环境。context 是可修改目录流的行为的一套选项。

opendir()实例

在进行PHP编程时,需要对服务器某个目录下面的文件进行浏览,通常成为遍历目录。取得一个目录下的文件和子目录,就需要用到opendir()函数、readdir()函数、closedir()函数和rewinddir()函数。

函数opendir()

函数opendir()用于打开指定目录,接受一个目录的路径及目录名作为参数,函数返回值为可供其他目录函数使用的目录句柄(资源类型)。如果该目录不存在或者没有访问权限,则返回FALSE。

函数readdir()

函数readdir()用于读取指定目录,接受已经用opendir()函数打开的可操作目录句柄作为参数,函数返回当前目录指针位置的一个文件名,并将目录指针向后移动一位。当指针位于目录的结尾时,因为没有文件存在则返回FALSE。

函数closedir()

函数closedir()关闭指定目录,接受已经用opendir()函数打开的可操作目录句柄作为参数。函数无返回值,运行后关闭打开的目录。

函数rewinddir()

函数reweinddir()倒回目录句柄,接受已经用opendir()函数打开的可操作目录句柄作为参数。将目录指针重置目录到开始处,即倒回目录的开头。

下面用一个实例来说明以上几个函数的使用方法(opendir()函数遍历目录实例)

$dirs ='./';//指定当前上当 
if( is_dir( $dirs ) ) 
{ 
 $hanld = opendir($dirs); 
 
 while (($file = readdir($hanld)) !== false) 
 { 
   echo "文件名: " . $file . "<br />"; 
 } 
 closedir($hanld); 
} 
else 
{ 
 echo '不是目录'; 
}

输出结果:

文件名:a 
文件名:b 
文件名:www.manongjc.com

注意:

  1. 从 PHP 5.0.0 开始,path 参数支持 ftp:// URL wrapper
  2. 在 PHP 4.3.0 中,path 参数可以是任何支持目录列表的 URL,不过在 PHP 4 中只有 file:// URL wrapper 支持此功能.