PHP 中如何新建一个文件夹假如它不存在的话

Ralfh Bryan Perez 2023年1月30日 2020年3月28日
  1. PHP 中 file_exists() 检查是否存在文件或目录
  2. PHP 中 is_dir() 检查文件或目录是否存在
  3. PHP 中的 file_exists()is_dir()
  4. PHP 中的 mkdir()
PHP 中如何新建一个文件夹假如它不存在的话

可以使用 PHP 创建文件夹并设置适当的权限,特别是使用 mkdir() 函数的时候。

默认权限模式为 0777(可能的最大访问权限)。创建目录之前,首先要检查目录或文件是否存在。在 PHP 中,可以使用 file_existsis_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_dirfile_exists 要快一点。

PHP 中的 mkdir()

此函数创建一个由路径名指定的目录,该目录作为参数传递。预期的返回值为 truefalse

示例实现:

mkdir($path, $mode, $recursive, $context);

参数值

参数
path(必需) 目录或创建路径
mode(可选) 目录或文件权限。默认情况下,mode0777(可能的最大访问权限)。
mode 由四个数字组成:
1st - 始终设置为 0
**2nd ** - 指定目录或文件的所有者的权限
3rd - 指定所有者的用户组的权限。
4th - 指定其他所有者的权限。
recursive(可选) truefalse
要递归地创建目录,则 recursive 参数必须设置为 true
context(可选) 一组用于增强或修改流行为的参数

**注意:**当启用安全模式时,PHP 将检查目录中的操作脚本是否在目录中具有相同的 UID(所有者)。

相关文章 - PHP Directory