首页 > 编程 > PHP > 正文

PHP遍历目录函数opendir()、readdir()、closedir()、rew

2020-03-22 20:15:35
字体:
来源:转载
供稿:网友
PHP PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结
在进行PHP编程时,需要对服务器某个目录下面的文件进行浏览,通常成为遍历目录。取得一个目录下的文件和子目录,就需要用到opendir()函数、readdir()函数、closedir()函数和rewinddir()函数。①函数opendir()函数opendir()用于打开指定目录,接受一个目录的路径及目录名作为参数,函数返回值为可供其他目录函数使用的目录句柄(资源类型)。如果该目录不存在或者没有访问权限,则返回FALSE。②函数readdir()函数readdir()用于读取指定目录,接受已经用opendir()函数打开的可操作目录句柄作为参数,函数返回当前目录指针位置的一个文件名,并将目录指针向后移动一位。当指针位于目录的结尾时,因为没有文件存在则返回FALSE。③函数closedir()函数closedir()关闭指定目录,接受已经用opendir()函数打开的可操作目录句柄作为参数。函数无返回值,运行后关闭打开的目录。④函数rewinddir()函数reweinddir()倒回目录句柄,接受已经用opendir()函数打开的可操作目录句柄作为参数。将目录指针重置目录到开始处,即倒回目录的开头。下面用一个实例来说明以上几个函数的使用方法。注意,在使用该例子前请确保同意目录下有phpMyAdmin文件夹。代码如下所示:
复制代码 代码如下:
php
$num = 0; //用来统计子目录和文件的个数
$dirname = 'phpMyAdmin'; //保存当前目录下用来便利的一个目录名
$dir_handle = opendir($dirname); //用opendir打开目录

//将遍历的目录和文件名使用表格格式输出
echo ' table border="0" align="center" width="600" cellspacing="0" cellpadding="0"
echo ' caption h2 目录'.$dirname.'下面的内容 /h2 /caption
echo ' tr align="left" bgcolor="#cccccc"
echo ' th 文件名 /th th 文件大小 /th th 文件类型 /th th 修改时间 /th

//使用readdir循环读取目录里的内容
while($file = readdir($dir_handle)){
//将将目录下的文件和当前目录连接起来,才能在程序中使用
$dirFile = $dirname."/".$file;

$bgcolor = $num+%2==0 '#FFFFFF' : '#CCCCCC'; //各行一种颜色
echo ' tr bgcolor='.$bgcolor.'
echo ' td '.filesize($dirFile).' /td //显示文件名
echo ' td '.filetype($dirFile).' /td //显示文件大小
echo ' td '.date("Y/n/t",filemtime($dirFile)).' /td //格式化显示文件修改时间
echo ' /tr
}

echo ' /table
closedir($dir_handle); //关闭文件操作句柄
echo '在 b '.$dirname.' /b 目录下的子目录和文件共有 b '.$num.' /b

上述程序首先打开一个目录指针,并对其进行遍历。遍历目录时,会包括“.”和“..”两个特殊的目录,如果不需要这俩个目录,可以将其屏蔽。当然显示细节会因为文件夹中内容的不同而有所不同。通过上例可见,在PHP中浏览文件夹中的内容也并不是一件多么复杂的事情。而且PHP还提供了一种html' target='_blank'>面向对象的方式用于目录的遍历,通过使用“dir”类完成。不仅如此,PHP也可以按用户的要求检索目录下指定的内容,提供了glob()函数检索指定的目录。该函数最终返回一个包含检索结果的数组。PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表