牛骨文教育服务平台(让学习变的简单)

8.8 目录处理函数

之前我们处理的全都是文件,那目录和文件夹怎么处理呢?

我们就来学习目录或者称为文件夹的处理相关函数。

处理文件夹的基本思想如下:

  1. 读取某个路径的时候判断是否是文件夹
  2. 是文件夹的话,打开指定文件夹,返回文件目录的资源变量
  3. 使用readdir读取一次目录中的文件,目录指针向后偏移一次
  4. 使用readdir读取到最后,没有可读的文件返回false
  5. 关闭文件目录

我们来学习一比常用函数:

函数名 功能
opendir 打开文件夹,返回操作资源
readdir 读取文件夹资源
is_dir 判断是否是文件夹
closedir 关闭文件夹操作资源
filetype 显示是文件夹还是文件,文件显示file,文件夹显示dir
<?php
//设置打开的目录是D盘
$dir = "d:/";

//判断是否是文件夹,是文件夹
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
       
       //读取一次向后移动一次文件夹指针
       echo readdir($dh)."<br />";
       echo readdir($dh)."<br />";
       echo readdir($dh)."<br />";
       echo readdir($dh)."<br />";
       
       //读取到最后返回false
       
       //关闭文件夹资源
        closedir($dh);
    }
}
?>

即然是读取一次向后移动一次,我们是不是可以

<?php
//设置打开的目录是D盘
$dir = "d:/";

//判断是否是文件夹,是文件夹
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
       
       
       //读取到最后返回false,停止循环
       while (($file = readdir($dh)) !== false) {
            echo "文件名为: $file : 文件的类型是: " . filetype($dir . $file) . "<br />";
        }
       
        closedir($dh);
    }
}
?>