首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Codeigniter中使用mkdir函数创建目录时出错

在Codeigniter中使用mkdir函数创建目录时出错
EN

Stack Overflow用户
提问于 2016-08-25 02:27:01
回答 3查看 1.6K关注 0票数 3

我试图在Codeigniter安装中使用php的mkdir函数递归地创建一个目录。我的代码如下所示:

代码语言:javascript
运行
复制
mkdir('docs/client/bills/payd', 0777, true)

文档目录已经存在于我的站点根目录dir中,客户端目录是用0755权限创建的,账单目录是以1341权限创建的(奇怪!)最后一个目录payd从未创建过。

我尝试将mkdir参数列表中的权限更改为0,755等.什么都没变。我还试着把umask设为0,0777.什么都没有。

代码语言:javascript
运行
复制
umask(0777);
mkdir('docs/client/bills/payd', 0777, true)

有人能告诉我我做错了什么吗?上面的代码是从Codeigniter常规控制器调用的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-08-25 02:33:23

使用此方法将其指定为工作目录,可能会混淆该目录的位置。

代码语言:javascript
运行
复制
mkdir( getcwd().'docs/client/bills/payd', 0777, true);

getcwd是代码点火器的工作目录。您可以在PHP指南中搜索getcwd()函数,使其更加清晰。

这应该能行。

编辑

为了更清楚地说明,这将返回以下内容:

代码语言:javascript
运行
复制
C:\xampp\htdocs\YOUR_ROOT_DIRECTORY\docs\client\bills\payd

再编辑

尽管在再次阅读之后,这只会创建payd并假设docs\client\bills已经创建。您可以使用mkdir或使用文件资源管理器创建客户端和票据。但是还有其他PHP方法,如果需要,我可以提供帮助。

Goodluck meyt

票数 0
EN

Stack Overflow用户

发布于 2016-08-25 04:55:59

试着

代码语言:javascript
运行
复制
if ( ! is_dir( FCPATH.'docs/client/bills/payd' )//FCPATH is absolute path to the project directory
{
    mkdir( FCPATH.'docs/client/bills/payd', 0777, true );//although 0755 is just fine and recomended for uploading and reading
}
票数 1
EN

Stack Overflow用户

发布于 2020-09-23 18:35:04

我也有这个奇怪的"1341“权限错误的PHP mkdir,与CodeIgniter无关,这是一个纯粹的PHP问题!

经过多次实验,我能让它工作的唯一方法是在路径的末尾包含一个斜杠,并将递归标志设置为'true‘。(尽管PHP文档没有显示最后的斜杠,而且我只创建了一个目录。)

也就是说。

代码语言:javascript
运行
复制
$existing_path = '/these/directories/already/exist/';
mkdir( $existing_path . 'new-directory/', 0755, true);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39135783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档