PHP 中如何新建一个文件夹假如它不存在的话
Ralfh Bryan Perez
2023年1月30日
PHP
PHP Directory
-
PHP 中
file_exists()检查是否存在文件或目录 -
PHP 中
is_dir()检查文件或目录是否存在 -
PHP 中的
file_exists()与is_dir() -
PHP 中的
mkdir()
可以使用 PHP 创建文件夹并设置适当的权限,特别是使用 mkdir() 函数的时候。
默认权限模式为 0777(可能的最大访问权限)。创建目录之前,首先要检查目录或文件是否存在。在 PHP 中,可以使用 file_exists 或 is_dir。
PHP 中 file_exists() 检查是否存在文件或目录
file_exists 函数是一个内置函数,用于检查目录或文件是否存在。它接受路径的参数,如果已经存在则返回 true,否则返回 false。
使用 file_exists() 的程序示例:
$path = "sample/path/newfolder";
if (!file_exists($path)) {
mkdir($path, 0777, true);
}
在上面的示例中,它使用 file_exists() 函数检查目录的存在,然后如果不存在的话,则递归地创建 newfolder 目录,目录的权限是 0777。
PHP 中 is_dir() 检查文件或目录是否存在
这个函数也和 file_exists 类似,唯一的区别是,如果传递的字符串是目录,它只会返回 true;如果是文件,它将返回 false。
使用 is_dir 的示例:
$path = "sample/path/newfolder";
if (!is_dir($path)) {
mkdir($path, 0777, true);
}
在上面的示例中,is_dir 在使用 mkdir 创建新文件夹之前首先检查该文件夹是否已经存在。
PHP 中的 file_exists() 与 is_dir()
这两个函数都检查目录是否存在,唯一的区别是 file_exists() 如果传递的参数是一个文件,也返回 true。另一方面,is_dir 比 file_exists 要快一点。
PHP 中的 mkdir()
此函数创建一个由路径名指定的目录,该目录作为参数传递。预期的返回值为 true 或 false。
示例实现:
mkdir($path, $mode, $recursive, $context);
参数值
| 参数 | 值 |
|---|---|
path(必需) |
目录或创建路径 |
mode(可选) |
目录或文件权限。默认情况下,mode 为 0777(可能的最大访问权限)。mode 由四个数字组成:1st - 始终设置为 0 **2nd ** - 指定目录或文件的所有者的权限 3rd - 指定所有者的用户组的权限。 4th - 指定其他所有者的权限。 |
recursive(可选) |
(true 或 false)要递归地创建目录,则 recursive 参数必须设置为 true。 |
context(可选) |
一组用于增强或修改流行为的参数 |
**注意:**当启用安全模式时,PHP 将检查目录中的操作脚本是否在目录中具有相同的 UID(所有者)。
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe