【问题标题】:How do I get CodeIgniter to create new folders?如何让 CodeIgniter 创建新文件夹?
【发布时间】:2011-04-08 09:46:08
【问题描述】:

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

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

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

【问题讨论】:

    标签: php codeigniter directory mkdir


    【解决方案1】:

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

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

    【讨论】:

      【解决方案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 标志。

      【讨论】:

        【解决方案3】:

        我有一个疯狂的想法,但可能是您问题的完美解决方案。它从一开始也正确设置了权限。我的想法是使用 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/')
        

        就像我说的非常疯狂的想法!

        【讨论】:

          猜你喜欢
          • 2020-05-14
          • 1970-01-01
          • 2012-04-22
          • 1970-01-01
          • 2016-08-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多