有时侯我们需要在服务器上创建目录。比如创建以当天日期为名字的目录来备份数据,或者创建以注册用户名为名字的目录来存放用户注册信息文件等。在 PHP 中可以使用 mkdir() 函数来创建一个新的目录,函数的语法格式如下:
mkdir(string $pathname[, int $mode = 0777[, bool $recursive = false[, resource $context]]])
参数说明如下:
- $pathname:要创建的目录路径(包含新目录的名称);
- $mode:可选参数,用来设定目录的权限,由四个数组组成,默认是 0777(最大的访问权限),不过 $mode 在 Windows 下会被忽略;
- $recursive:可选参数,为 true 时允许递归创建由 $pathname 所指定的多级嵌套目录,默认为 false;
- $context:在 PHP 5.0.0 中增加了对上下文(Context)的支持。
组成 $mode 参数的四个数字的含义如下所示:
- 第一个数字通常是 0;
- 第二个数字规定所有者的权限;
- 第三个数字规定所有者所属的用户组的权限;
- 第四个数字规定其他所有人的权限。
$mode 参数中,除第一个数字外,其它三个数字的取值范围如下(如需设置多个权限,可以将对应权限的数字相加):
- 1 => 执行权限;
- 2 => 写权限;
- 4 => 读权限。
【示例】使用 mkdir() 函数来创建一个新目录。
<?php $dir = './test/ttt'; if(is_dir($dir)){ echo "该目录以存在!"; }else{ if(mkdir($dir,0777,true)) echo '目录创建成功!'; } ?>
运行上面的代码,即可在当前目录下创建一个名为 test 的目录,并在 test 目录中创建一个名为 ttt 的目录。
需要注意是,使用 mkdir() 函数创建目录时,目录名不能与已经存在的目录名相同,如果出现了同样的目录名,程序将会报错,如下所示:
Warning: mkdir(): File exists in D:/WWW/index.php on line 6
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/677.html