Phalcon moveTo 功能未将文件移动到服务器中的目标目录?

我正在尝试将图像上传到特定目录,但该功能moveTo并未移动图像。


public function uploadRecipeImageAction() {

    if ($this->request->hasFiles() == true) {

        $file = $this->request->getUploadedFiles()[0];

        $target_file = '/uploads/ketogenic-recipes/'.preg_replace("/[^a-z0-9\_\-\.]/i", '', basename($file->getName()));

        $file->moveTo($_SERVER['DOCUMENT_ROOT'] . $target_file);

    }

    return $target_file;

}

该功能在本地运行良好,但在服务器中不起作用。日志中没有错误


uploads和ketogenic-recipes目录权限设置为0775


PHP 版本7.2.20


Phalcon 版本是3.4


var_dump($_SERVER['DOCUMENT_ROOT']) = string(30) "/home/web/public_html/test2"

var_dump($target_file); = string(42) "/uploads/ketogenic-recipes/harrypotter.jpg"


明月笑刀无情
浏览 149回答 2
2回答

繁星点点滴滴

我们从旧服务器转移到新服务器。我发现很少有错误的配置,这是不将图像/文件移动到目标目录的原因。未启用 PHP-FPM我们的网站在 PHP 上运行,7.2.20但未PHP-FPM在我们的网站上启用。所以这意味着它没有使用特定于站点的php.ini错误的主目录我错误地为 cPanel 中的子域设置了主路径。他们指向子域根目录而不是web文件夹(在 phalcon 中,我们将 web 作为主目录)。所以$_SERVER['DOCUMENT_ROOT']指向根文件夹;不是web文件夹。

泛舟湖上清波郎朗

在我们的例子中,问题直接与upload_max_filesize默认设置为 2MB的 PHP 相关。增加php.ini文件中的值修复了问题。
打开App,查看更多内容
随时随地看视频慕课网APP