PHP 创建和删除目录
PHP的mkdir()和rmdir()函数用来创建与删除目录,只能在用户具有访问权限的路径上创建和删除目录。
函数mkdir()的使用比想像中要复杂。它带有两个输入参数:目标目录的路径(包括新的目录名)和希望该目录拥有的访问权限,例如:mkdir(“/tmp/testing”,0777);
然而,要得到的权限码不一定是上面所需的权限码,当前的umask将与该值相“与”(像做一次减法),这样才能获得真正的权限码。例如,如果umask是022,那么得到的权限码是0755。
语法
mkdir(path,mode,recursive,context)
参数 | 描述 |
---|---|
path | 必需。规定要创建的目录的名称。 |
mode | 必需。规定权限。默认是 0777。 |
recursive | 必需。规定是否设置递归模式。 |
context | 必需。规定文件句柄的环境。Context 是可修改流的行为的一套选项。 |
例子:
<?php
header("Content-type: text/html; charset=gbk");
$currentDir = "D:/hah/aa/dd";
$ret = mkdir($currentDir,0777,true);
var_dump($ret);
在创建具有这个效果的目录之前,我们可能会重新设置umask码。可以输入如下命令:
$oldumask=umask(0);
mkdir("/tmp/testing",0777);
umask($oldumask);
以上代码使用了umask()函数,该函数可以用来检查并修改当前的umask码。它可以将当前的umask码修改为任何其他所希望并传入的umask码,并且返回原来的umask码。
或者,如果该函数在被调用时不带有任何其他参数,它就会返回当前umask码。
请注意,umask()函数对Windows系统是没有作用的。
函数rmdir()将删除一个目录,例如:
rmdir("/tmp/testing");
或者
rmdir("c:\\tmp\\testing");
请注意,要删除的目录必须为空目录。