PHP操作目录(文件夹)的常用函数
封面图
•
2026-01-14
•
PHP
306
0
0
0
在 PHP 中,操作目录(文件夹)的常用函数主要通过 `dir()` 函数、`scandir()` 函数以及一些文件系统函数如 `mkdir()`、`rmdir()` 等来实现。以下是一些常用的 PHP 操作目录的函数及其用法: --- ## 一、创建目录 ### `mkdir(string $pathname, int $permissions = 0777, bool $recursive = false, ?resource $context = null): bool` **功能:** 创建一个新目录。 **示例:** ```php if (mkdir("new_folder", 0777)) { echo "目录创建成功"; } else { echo "目录创建失败"; } ``` - `$permissions`:设置目录权限(默认是 0777)。 - `$recursive`:是否递归创建目录(比如创建多级目录)。 --- ## 二、删除目录 ### `rmdir(string $dirname): bool` **功能:** 删除一个空目录。 **示例:** ```php if (rmdir("folder_to_delete")) { echo "目录删除成功"; } else { echo "目录删除失败"; } ``` > 注意:`rmdir()` 只能删除空目录,如果目录中包含文件或子目录,需要先清空内容。 --- ## 三、遍历目录内容 ### `scandir(string $directory, int $sorting_order = SCANDIR_SORT_ASCENDING): array` **功能:** 返回指定目录中的文件和目录列表。 **示例:** ```php $files = scandir("my_folder"); print_r($files); ``` 输出可能为: ``` Array ( [0] => . [1] => .. [2] => file1.txt [3] => file2.txt [4] => subfolder ) ``` --- ### `opendir(string $filename): resource` 和 `readdir(resource $dir_handle): string` **功能:** 打开一个目录句柄,并逐个读取目录中的条目。 **示例:** ```php $dir = opendir("my_folder"); while ($file = readdir($dir)) { echo $file . "<br>"; } closedir($dir); ``` --- ## 四、获取目录信息 ### `is_dir(string $filename): bool` **功能:** 判断给定的路径是否是一个目录。 **示例:** ```php if (is_dir("my_folder")) { echo "这是一个目录"; } else { echo "这不是一个目录"; } ``` --- ### `is_file(string $filename): bool` **功能:** 判断给定的路径是否是一个文件。 **示例:** ```php if (is_file("my_folder/file.txt")) { echo "这是一个文件"; } else { echo "这不是一个文件"; } ``` --- ## 五、删除目录及其内容(递归) PHP 默认没有直接删除非空目录的函数,但可以通过递归方式实现。 **示例:** ```php function deleteDirectory($dir) { if (!file_exists($dir)) { return true; } if (is_dir($dir)) { $files = array_diff(scandir($dir), ['.', '..']); foreach ($files as $file) { deleteDirectory(realpath($dir . '/' . $file)); } return rmdir($dir); } else { return unlink($dir); } } // 使用示例 deleteDirectory("folder_to_delete"); ``` --- ## 六、其他常用函数 | 函数 | 功能 | |------|------| | `realpath(string $path): string` | 获取文件或目录的绝对路径 | | `basename(string $path, string $suffix = null): string` | 获取路径中的文件名部分 | | `dirname(string $path): string` | 获取路径中的目录部分 | --- ## 总结 | 功能 | 常用函数 | |------|----------| | 创建目录 | `mkdir()` | | 删除目录 | `rmdir()` | | 遍历目录 | `scandir()`, `opendir()` / `readdir()` | | 判断是否是目录 | `is_dir()` | | 判断是否是文件 | `is_file()` | | 删除目录及内容 | 自定义递归函数 | 如果你有具体的使用场景(例如遍历目录、删除目录、处理文件等),我可以提供更详细的代码示例。
上一篇:
php读取文件加锁和解锁
下一篇:
php 快速排序
标题录入,一次不能超过6条
留言
评论