mkdir()创建目录需注意权限、路径和递归:基础用法mkdir('my_folder')仅建单层;推荐mkdir('path/to/dir', 0755, true)设权限并递归建父目录;创建前应is_dir()检查;Windows忽略权限参数但支持递归。

PHP 中用 mkdir() 创建目录很简单,但要注意权限、路径和递归创建这几个关键点。
基础用法:创建单层目录
最简单的调用方式是传入目录路径:
mkdir('my_folder');这会在当前脚本执行目录下创建名为 my_folder 的文件夹。但默认权限在 Linux/Unix 系统下可能受限(如只对所有者可写),且如果父目录不存在会报错。
指定权限和递归创建(常用组合)
实际开发中推荐这样写:
mkdir('path/to/new/dir', 0755, true);-
第二个参数是权限(八进制数,必须加前缀
0),0755表示所有者可读写执行,组和其他用户可读执行; -
第三个参数设为
true表示启用递归模式 —— 自动创建中间缺失的父目录(比如path/和path/to/不存在时也会一并建好)。
创建前检查与错误处理
避免因目录已存在或权限不足导致警告,建议先判断:
$dir = 'uploads/images';<br>if (!is_dir($dir)) {<br> if (mkdir($dir, 0755, true)) {<br> echo "目录创建成功";<br> } else {<br> echo "目录创建失败,请检查父目录权限";<br> }<br>} else {<br> echo "目录已存在";<br>}Windows 下注意事项
Windows 对权限参数不敏感(mkdir() 的第二个参数会被忽略),但递归参数 true 依然有效。路径分隔符可用正斜杠 /(PHP 自动兼容),无需硬写反斜杠 \。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











