PHP 通过控制器在服务器上创建文件


PHP Creating a file on the server via controller

我有以下代码,但它似乎根本没有创建文件夹。

我应该使用is_dir而不是file_exists吗?

        $location = $_SERVER['DOCUMENT_ROOT'].'/_assets/quote/uploads/';
        $folderName = $this->quote->getCompanyDetails()->companyName;
        $folderName = str_replace(" ", "_", $folderName);
        $folderName = strtolower($folderName);
        if(!file_exists($folderName))
        {   
            mkdir($location.$folderName, 0777);
        }else{

使用

if (!file_exists($dir) && !is_dir($dir)) {
    mkdir($location.$folderName, 0777);
}

is_dir函数仅检测定义的路径是否为文件夹。可能,您没有足够的权限来创建文件夹。尝试使用

<?php
if (is_writable($dir)) {
echo "Path is writable";
}
?>

以检测您的路径是否确实可写。

这似乎是权限问题。检查您是否在使用 mkdir 的目录中具有写入权限。

也使用

echo $location.$folderName ;

检查它是否发生在正确的位置。

希望这有帮助。