【发布时间】:2016-08-25 02:27:01
【问题描述】:
我正在尝试在 Codeigniter 安装中使用 php 的 mkdir 函数递归地创建一个目录。我的代码如下所示:
mkdir('docs/client/bills/payd', 0777, true)
docs 目录已经存在于我的站点根目录中,client 目录正在使用 0755 权限创建,bills 目录正在创建中创建时使用权限 1341(奇怪!),而最后一个目录 payd 从未创建。
我尝试将 mkdir 参数列表中的权限更改为 0、755 等……但没有任何改变。我还尝试将 umask 设置为 0, 0777 ......但什么也没有。
umask(0777);
mkdir('docs/client/bills/payd', 0777, true)
谁能说我做错了什么?上面的代码是从 Codeigniter 常规控制器调用的。
【问题讨论】:
-
在尝试了以下 Lorenzo Magno 和 Tpojka 的两个回复后,我意识到 cPanel 正在创建相同的路径,但出现相同的错误。然后我意识到创建目录的 last_modified 时间与昨天创建目录的时间相同...... cPanel 正在恢复我错误的目录创建版本。我刚刚更改了客户端名称并且创建工作正常。问题开始是因为我在第一次尝试时没有将递归参数设置为 true,当我完成时,cPanel 一直在重新创建/恢复第一个错误状态。
-
总之,我的第一个版本的代码有效,因此 Lorenzo 和 Tpojka 的响应也有效......我接受 Lorenzo 的答案是正确的,因为他首先回答了。谢谢两位。
标签: php codeigniter mkdir