如何让CodeIgniter创建新文件夹?

时间:2010-09-05 08:01:23

标签: php codeigniter directory mkdir

我有一个用户系统,当您注册一个帐户时,它应该自动为您创建一个新文件夹。

我在 mkdir('./ upload /'。$ this-> session-> userdata('id'),0,true)中放置了一些东西。 注册控制器,但无济于事。

有人知道如何让它发挥作用吗?

3 个答案:

答案 0 :(得分:4)

您是否在创建文件夹时尝试设置权限,例如:

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

答案 1 :(得分:2)

您是否设置了正确的权限? Codeigniter或任何其他PHP脚本由于CHMOD值不正确而无法创建任何文件或目录。在大多数情况下,应该使用755或775的值。您可以使用命令行或使用FTP应用程序更改这些值(大多数应用程序都可以这样做)。还要确保所有者或组设置为与您的网络服务器正在运行的用户相同(大多数情况下为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标志。

答案 2 :(得分: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/')

就像我说的非常疯狂!