cakephp - 在webroot中创建新目录

时间:2017-06-05 04:03:55

标签: php cakephp directory

我想在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'但它不起作用。

这是创建目录的正确代码吗?

3 个答案:

答案 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变量,用于存储项目的路径。