首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Codeigniter不是CHMOD 777目录

Codeigniter不是CHMOD 777目录
EN

Stack Overflow用户
提问于 2019-07-11 15:41:48
回答 2查看 955关注 0票数 0

我找不到为什么我的Codeigniter没有从控制器CHMOD特定的目录到777,所以寻找一些如何解决这个问题的建议。

我运行的是centos 7,PHP 7.2

我有一个控制器,它的位置是:public_html/application/ controller /users.php,我需要CHMOD目录: public_html/uploads/whatverfolder/userfolder/

代码语言:javascript
复制
public function att() {
$uploaddir = 'uploads/whatverfolder/userfolder';
if (file_exists($uploaddir )) {
echo 'YES DIRECTORY EXIST'; // geting success
@chmod($uploaddir, FILE_WRITE_MODE); // -> not working
chmod($uploaddir, 0777, true); // -> not working
}
}

这是我得到的错误:

代码语言:javascript
复制
ERROR - 11th July 2019 10:10:24 --> Severity: Warning  --> chmod(): Can not call chmod() for a non-standard stream /home/u7658/web/mydomain.com/public_html/application/controllers/users.php 1578
ERROR - 11th July 2019 10:10:24 --> Severity: Warning  --> chmod(): Operation not permitted /home/u7658/web/mydomain.com/public_html/application/controllers/users.php 1585

此外,chmod文件夹的所有权也是根目录,该文件夹是由CodeIgniter通过以下代码创建的(目录已经创建,但具有775权限,即使mkdir应该创建具有777权限的目录。

代码语言:javascript
复制
$domainpath = "./uploads/domeny/".$ID."/";

// make folder
    if (!file_exists($domainpath)) {
    mkdir($domainpath, 0777, true);
}

我只是错过了一些东西,谢谢你的帮助!

EN

回答 2

Stack Overflow用户

发布于 2019-07-11 17:21:29

尝试一下,使用配置中的BASEPATH来实现绝对路径

代码语言:javascript
复制
$folderPath = '';//here you need to give absolute path i.e C:\wamp\www\project_folder/uploads/domeny/
mkdir("$folderPath");
chmod("$folderPath", 0777);
票数 0
EN

Stack Overflow用户

发布于 2019-07-17 19:47:40

原因是这个特定的目录不是由mkdir创建的,该目录(由于迁移)已由FTP上传。所以,我不知道为什么,但是如果你通过FTP上传到我的服务器目录,那么你就不能用php修改那个目录,可能是因为所有者/组权限的原因。但是我对那个文件夹的perm是root..所以仍然不确定为什么,但它现在起作用了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56984009

复制
相关文章

相似问题

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