2010-09-05 129 views
4

我有一个用户系统,当你注册一个账户时,它应该为你自动创建一个新的文件夹。如何让CodeIgniter创建新文件夹?

我的东西放在一起的mkdir的线( './上传/'。$这个 - >会话级>用户数据( 'ID'),0,真)在我注册控制器但徒劳无功。

有人知道如何让它工作吗?

回答

2

您是否设置了正确的权限? Codeigniter或任何其他PHP脚本,由于CHMOD值不正确而不允许创建任何文件或目录。在大多数情况下,755或775的值应该可以做到。您可以使用命令行或使用FTP应用程序更改这些值(大多数应用程序可以这样做)。还要确保所有者或组被设置为与运行Web服务器时相同的用户(大多数情况下为www-data)。

实例:

chmod -R 775 /var/www/username/codeigniterapp.com/some_dir 

可以用 “CHOWN” 命令改变它的组/用户:

chown -R www-data:someuser /var/www/username/codeigniterapp.com/some_dir 

注意,-R标志指示命令递归执行本身。如果您只想更改顶级目录的权限,则可以简单地删除-R标志。

4

你有没有尝试设置权限在创建文件夹,像做:

 
mkdir('./upload/' . $this->session->userdata('id'), 0777); 
0

我有一个大胆的想法,但可能是你的问题的完美解决方案。它从一开始就正确地设置了权限。我的想法是使用CodeIngniter的FTP类,然后用FTP创建目录。

$this->ftp->mkdir('/public_html/profile_pictures/username/', DIR_WRITE_MODE); 

然后用下面的代码跟进,使允许值777

$this->ftp->chmod('/public_html/profile_pictures/username/', DIR_WRITE_MODE); 

然后删除该目录也很容易。

$this->ftp->delete_dir('/public_html/profile_pictures/username/') 

就像我说的很疯狂的想法!