位置:首页 > PHP > PHP功能函数 > 文件处理函数 >

PHP目录操作技术

字号+ 作者:micloud 来源:www.seoalphas.com 2018-11-12 12:39 浏览量:2073

目录也是文件,是一种特殊的文件,那么既然是文件,如果对其进行操作同样也需要先打开它,然后才能进行浏览、写入文件等操作,当然,最后也是要关闭文件资源。PHP操作文件目录可分为三个步骤:1、打开指定目录,2、读取目录结构,3、关闭目录指针。

1、opendir()函数 打开指定目录

打开文件和打开目录虽然都是执行的打开操作,但是使用的函数不同,而且对未找到指定文件的处理结构也不同。fopen()函数如果是打开不存在的文件,它会直接创建一个新文件出来,而打开目录函数opendir()函数却没有那么智能,它会直接抛出一个错误信息,成功打开的话会返回一个目录句柄,失败则返回false。语法:

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

通过在opendir()函数前添加@符号,可以屏蔽错误信息的输出。


2、读取目录结构

应用opendir()函数打开目录之后,就可以利用返回的目录句柄资源,配合PHP中提供的scandir()函数完成对目录的浏览操作。该函数浏览指定路径下的目录和文件,成功返回文件名的array数组,失败返回false。如果 directory 不是目录,则抛出 E_WARNING 级别的错误。

scandir(directory,sorting_order,context);
参数 描述
directory 必需。规定要扫描的目录。
sorting_order

可选。规定排列顺序。默认是 0,表示按字母升序排列。

如果设置为 SCANDIR_SORT_DESCENDING 或者 1,则表示按字母降序排列。

如果设置为 SCANDIR_SORT_NONE,则返回未排列的结果。

context 可选。规定目录句柄的环境。context 是可修改目录流的行为的一套选项。

demo示例代码:

/**
 * User: alpha
 * Date: 2018/11/13
 * Time: 10:26
 * 浏览目录内文件
 */
$path = "./../../static/images/";                //定义相对路径
var_dump(realpath($path));          //通过realpath函数可以查看目录的绝对路径,这对相对路径不熟练的很有帮助,可以提前检测下自己写的相对路径是否正确
if(is_dir($path)){                  //判断当前路径是否为目录
    $files = scandir($path);        //将目录信息保存到$file数组中
    for($i=0;$i<count($files);$i++){
        echo "#".$files[$i].'<br>'; //循环输出结果
    }
}

示例代码中的路径是相对我程序路径设置的,输出结果如下:

QQ截图20181113103829.jpg


最后,关闭目录指针,使用closedir(resource handle)函数,参数就是使用opendir()打开的目录句柄资源。


PHP扫描目录文件除了scandir函数外,还可以使用glob函数,具体请参考:php glob()函数 遍历目录或文件夹

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • PHP文件处理技术:文件上传基本设置

    PHP文件处理技术:文件上传基本设置

    浏览次数:3065

  • PHP文件上传全局变量$_FILE应用说明

    PHP文件上传全局变量$_FILE应用说明

    浏览次数:2617

  • php glob()函数 遍历目录或文件夹

    php glob()函数 遍历目录或文件夹

    浏览次数:2400

  • PHP文件目录处理技术

    PHP文件目录处理技术

    浏览次数:2296

网友点评
评论区域