php opendir和fopen的区别是什么
区别:fopen()函数用于打开一个文件或URL;而opendir()函数用于打开目录句柄。fopen()函数如果未找到指定的文件,则会自动创建这个文件;而opendir()函数如果未找到指定的目录,则会直接抛出一个错误。
本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑
fopen()函数用于打开一个文件或URL;opendir()函数用于打开目录句柄。
打开目录和打开文件虽然都是执行打开的操作,但使用的函数是不同,而且对未找到指定文件的处理结果也不同。fopen() 函数如果未找到指定的文件,则会自动创建这个文件,而打开目录的 opendir() 函数却没有那么勤劳和爽快,它会直接抛出一个错误。
opendir() 函数的语法格式如下所示:
opendir(string $path[, resource $context])
其中,参数 $path 为要打开的目录路径,$context 为可选参数,用来设定目录句柄的环境,$context 是可修改目录流行为的一套选项。
opendir() 函数如果执行成功则返回目录句柄的资源(resource),失败则返回 FALSE。如果参数 $path 不是一个合法的目录或者因为权限限制或文件系统错误而不能打开目录,opendir() 函数会返回 FALSE 并产生一个 E_WARNING 级别的 PHP 错误信息。可以在 opendir() 前面加上@
符号来抑制错误信息的输出。
示例:使用 opendir() 函数打开指定目录
<?php $dir = './test/'; if(is_dir($dir)){ $info = opendir($dir); var_dump($info); } ?>
运行结果如下:
resource(3) of type (stream)
示例中我们用到了一个 is_dir() 函数,该函数用来判断给定的参数是不是一个目录。
推荐学习:《PHP视频教程》