我在这里使用下面的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
这可能是什么原因?
答案 0 :(得分:2)
我认为可能导致问题的两件事:
;
octdec((int)$folder_permissions)
$folder_permissions = octdec((int)$folder_permissions)
<强>更新强> 这是我用来创建一个简单文件夹的原因:
$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权限