微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php mkdir创建目录使用实例和需要注意的地方

PHP mkdir函数介绍

mkdir函数用于新建目录,

语法:

bool mkdir ( string $pathname [,int $mode = 0777 [,bool $recursive = false [,resource $context ]]] )

尝试新建一个由 pathname 指定的目录。

参数:

pathname 目录的路径。

mode 认的 mode 是 0777,意味着最大可能的访问权。有关 mode 的更多信息请阅读 chmod()。

注意:mode 在 Windows 下被忽略。

返回值:

成功时返回 TRUE, 或者在失败时返回 FALSE。

mkdir函数实例

使用mkdir函数创建目录并指定目录访问权限:

mkdir( "testdir",0777 ); // global read/write/execute permissions

mkdir( "testdir",0755 ); // world and group: read/execute only

// owner: read/write/execute

mkdir('/tmp/apples',0777) or die($PHP_errormsg);

?>

利用mkdir创建多级目录

mkdir($path,0777,true);

一个参数:必须,代表要创建的多级目录的路径;

第二个参数:设定目录的权限,认是 0777,意味着最大可能的访问权;

第三个参数:true表示允许创建多级目录。

举例代码支持创建中文目录):

PHP

header("Content-type:text/html;charset=utf-8");

//要创建的多级目录

$path="dai/PHP/PHP学习";

//判断目录存在否,存在给出提示,不存在则创建目录

if (is_dir($path)){  

echo "对不起!目录 " . $path . " 已经存在!";

}else{

//第三个参数是“true”表示能创建多级目录,iconv防止中文目录乱码

$res=mkdir(iconv("UTF-8","GBK",$path),true); 

if ($res){

echo "目录 $path 创建成功";

}else{

echo "目录 $path 创建失败";

}

}

?>

PHP中mkdir()函数的权限问题

使用以下PHP代码创建了一个目录,期望目录的权限是0777,实际结果是0755

mkdir('./aa/',0777)

分析与测试结果告诉我们:

mkdir()函数指定的目录权限只能小于等于系统umask设定的认权限。

chmod()函数不受系统umask影响,可以设置比系统认权限大的权限。

系统的mkdir命令可以设置大于认值的权限。

因此,PHP若要创建一个有读写权限的目录,最好使用以下代码,不要直接使用mkdir函数指定权限,以避免系统umask的影响

mkdir('./xw/');

chmod('./xw/',0777);

原文地址:https://www.jb51.cc/php/61013.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐