1

如果它不存在,我在这里使用下面的 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

这可能是什么原因?

4

3 回答 3

2

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

  1. 你忘了一个;在结尾octdec((int)$folder_permissions)
  2. 尝试删除整行$folder_permissions = octdec((int)$folder_permissions)

更新: 这是我用来创建一个简单文件夹的:

$destination = JPATH_SITE.'/'."modules/mod_login";
$folder_name = "new_folder";
JFolder::create($destination .'/'. $folder_name, 0755);
于 2012-10-02T12:26:42.233 回答
0

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

运行代码的用户可能是 www-data(在大多数 *nix/Apache 上)。'nobody' 或 'apache' 也是可能的。如果你有root权限试试这个:

1)成为网络用户(例如www-data)

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

3) 类型:mkdir mynewdir

而且您可能会发现用户没有足够的权限这样做。

于 2012-10-02T12:25:56.743 回答
0

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

从:

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

到:

var $tmp_path = 'tmp';

并且tmp应该有777权限

于 2014-02-02T17:10:01.587 回答