JFolder :: create:无法创建目录Joomla

时间:2012-10-02 12:19:56

标签: php joomla joomla2.5

我在这里使用下面的PHP代码创建一个特定的文件夹,如果它不存在。我正在使用joomla 2.5

$path = my/path/goes/here;
$folder_permissions = "0755";
$folder_permissions = octdec((int)$folder_permissions);
//create folder if not exists
if (!JFolder::exists($path)){
     JFolder::create($path, $folder_permissions);          
}

但是这段代码会抛出错误

JFolder::create: Could not create directory

这可能是什么原因?

3 个答案:

答案 0 :(得分:2)

我认为可能导致问题的两件事:

  1. 您在;
  2. 的末尾忘记了octdec((int)$folder_permissions)
  3. 尝试删除整行$folder_permissions = octdec((int)$folder_permissions)
  4. <强>更新 这是我用来创建一个简单文件夹的原因:

    $destination = JPATH_SITE.'/'."modules/mod_login";
    $folder_name = "new_folder";
    JFolder::create($destination .'/'. $folder_name, 0755);
    

答案 1 :(得分:0)

原因是什么? 简单:尝试创建该目录的用户没有权限(或者您的Joomla已损坏)。

运行代码的用户可能是www-data(在大多数* nix / Apache上)。也可以'没人'或'阿帕奇'。 如果你有rootpermission试试这个:

1)成为webuser(例如www-data)

2)跳转到my / path / goes / here

目录

3)输入:mkdir mynewdir

您可能会发现用户没有足够的权限来执行此操作。

答案 2 :(得分:0)

在Joomla主目录下编辑您的configuration.php文件,更改:

自:

var $tmp_path = '/home/public_html/your_name/tmp';

要:

var $tmp_path = 'tmp';

tmp应该有777权限