我想在webroot中创建一个新目录(文件夹),这样我就可以在新文件夹中创建/编辑文件。
我的代码是:
$path = 'files' . DS . 'pathtofolder';// $folder_name;
$folder = new Folder($path);
if (!is_null($folder->path)) { //this is to verify if created
echo "Exists";
}
else{
echo "Doesnt exist";
}
结果总是不存在。我无法在我的cakephp文件夹中找到任何创建的文件夹。
我试图更改文件'对于' webroot'但它不起作用。
这是创建目录的正确代码吗?
答案 0 :(得分:2)
试试这个
$path = 'files' . DS . 'pathtofolder';
$folder = new Folder($path, true, 0755);
if ($folder->path) {
echo "Exists";
}
else{
echo "Doesnt exist";
}
答案 1 :(得分:1)
有一个直接的PHP调用来创建目录。所以,你可以使用它。我不知道cakephp版本。
if (!mkdir($structure, 0777, true)) {
die('Failed to create folders...');
}
另外,检查您的Web服务器用户www-data是否具有创建目录的权限。否则,在命令提示符下运行此命令
addgroup www-data
这将添加www-data以启用权限。如果您获得权限被拒绝错误,您可能需要在某些情况下将sudo添加到上述命令。
答案 2 :(得分:0)
$path = WWW_ROOT . 'webroot' . DS . 'FolderNameYouWantToSet' . DS;
if (!file_exists($path)) {
$oldMask = umask(0);
mkdir($path, 0777, true);
chmod($path, 0777);
umask($oldMask);
}
这将创建一个具有777权限的文件夹,您可以根据您的要求设置文件夹权限。
WWW_ROOT是全局cake变量,用于存储项目的路径。