在之前的文章《PHP中怎样读取文件》中给大家详细的介绍了关于PHP文件处理中读取文件的相关知识,本篇文章我们也是来学习一下PHP中文件处理的知识,但是不是处理文件,而是处理目录。那下面我们一起来看一下PHP中的目录处理吧。希望对大家有帮助!
之前我们介绍了一些PHP中文件处理的知识,下面我们来看一下目录处理的相关知识。准确来说目录处理也是属于文件处理的一部分,目录可以看成是一个特别的文件。我们只有先把目录打开才能够查看在这个目录下的文件,当我们文件处理完成后,不能少的一步操作就是关闭目录。
其中比较重要的就是打开和关闭目录了,下面我们就一起来看一下在PHP中要通过什么方法完成打开和关闭目录的操作。
opendir()
函数,打开目录
想要实现打开目录的操作就需要通过opendir()
函数。
提到打开目录就会想到我们之前讲到的打开文件的操作,打开文件需要通过fopen()
函数,当时我们讲到,当使用fopen()
函数来打开文件的时候,如果这个目标文件不存在的话,或者在当前页面没有目标文件的时候,该函数会创建一个文件。
当我们使用opendir()
函数来进行打开目标目录操作的时候,如果目标目录不存在,或者当前页面找不到目标目录的时候,并不会创建一个目录,该函数会出现一个报错。
了解了opendir()
函数打开目录与fopen() 函数打开文件的不同之后,我们来看一下opendir()函数的基本语法格式:
opendir(string $path[, resource $context])
其中我们需要注意的是,参数$path表示的是需要打开的目录路径,如果这个路径是正确的,程序运行后会返回只想目录的指针;如果这个目录路径不是正确的,或者路径正确但是因为系统权限文件系统发生的错误导致这个目录不能打开,这时候函数会返回一个错误信息或者false。
想要屏蔽这个错误信息输出的话可以在opendir()函数前面加上“@
”。
接下来我们通过示例来看一下opendir()函数的应用,示例如下:
<?php header("Content-Type:text/html; charset=utf-8"); $path = "D:/phpstudy_pro/WWW"; if(is_dir($path)){ //检测是否是一个目录 if($dire = opendir($path)){ //判断打开目录是否成功 echo $dire; //输出目录指针 } } else{ echo "路径错误"; exit(); } ?>
在上述示例中想要通过opendir()函数来打开路径为D:/phpstudy_pro/WWW
的目录。
其中需要注意的是,上述示例中的is_dir()是用来判断当前路径下的是否是一个目录,上述示例的输出结果如下:
下面咋介绍另一种路径的表达方法,示例如下:
目录在当前文件的同一个目录内
<?php header("Content-Type:text/html; charset=utf-8"); $path = "./1.0"; if(is_dir($path)){ $info = opendir($path); var_dump($info); } ?>
输出结果:
通过上述示例我们便完成了打开目录的操作了,通过opendir()函数打开了不同路径表达方式下的目录。下面来给大家介绍一下应该怎样去关闭目录。
closedir()
函数,关闭目录
想要实现关闭目录的操作就需要通过closedir()
函数。
在上述示例中我们打开了目录,当我们完成相应的操作之后,我们想要释放操作目录是所用到的资源,这时候关闭目录这一步是必不可少的。下面我们来看一下closedir()函数的基本语法格式:
closedir([resource $dir_handle])
其中我们需要注意的是:参数 handle 为使用 opendir()函数打开的一个目录指针。
接下来我们通过示例来看一下closedir()
函数的用法,示例如下:
<?php header("Content-Type:text/html; charset=utf-8"); $path = "./1.0"; if(is_dir($path)){ //检测是否是一个目录 if($dire = opendir($path)){ //判断打开目录是否成功 echo $dire; //输出目录指针 } } else{ echo "路径错误"; exit(); } //...其他操作 closedir($dire); //关闭目录 ?>
输出结果:
输出结果时没有变化的,但是多了closedir()关闭目录的操作。
大家如果感兴趣的话,可以点击《PHP视频教程》、《PHP如何上传文件?看完就明白了!》进行更多关于PHP知识的学习。
以上就是PHP文件处理中目录的关闭和打开知识总结的详细内容,更多请关注php中文网其它相关文章!
声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
- 上一篇:总结使用不同的方法记录错误报告日志
- 下一篇:没有了