Phalcon moveTo 函数不是将文件移动到服务器中的目标目录吗?
Phalcon moveTo function is not moving files to target directory in server?
我正在尝试将图像上传到特定目录,但函数 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"
我们从旧服务器转移到新服务器。而且我发现很少有错误的配置,这是不将 images/files 移动到目标目录的原因。
PHP-FPM 未启用
我们的网站在 PHP 7.2.20
上 运行 但 PHP-FPM
未在我们的网站上启用。所以这意味着它没有使用特定于站点的 php.ini
主目录错误
我在 cPanel 中错误地为子域设置了主路径。他们指向子域根目录而不是 web
文件夹( 在 phalcon 中,我们将 web 作为主目录 )。所以 $_SERVER['DOCUMENT_ROOT']
指向根文件夹;而不是 web
文件夹。
在我们的案例中,问题直接与 PHP upload_max_filesize
默认设置为 2MB 相关。增加 php.ini
文件中的值解决了问题。
我正在尝试将图像上传到特定目录,但函数 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"
我们从旧服务器转移到新服务器。而且我发现很少有错误的配置,这是不将 images/files 移动到目标目录的原因。
PHP-FPM 未启用
我们的网站在 PHP 7.2.20
上 运行 但 PHP-FPM
未在我们的网站上启用。所以这意味着它没有使用特定于站点的 php.ini
主目录错误
我在 cPanel 中错误地为子域设置了主路径。他们指向子域根目录而不是 web
文件夹( 在 phalcon 中,我们将 web 作为主目录 )。所以 $_SERVER['DOCUMENT_ROOT']
指向根文件夹;而不是 web
文件夹。
在我们的案例中,问题直接与 PHP upload_max_filesize
默认设置为 2MB 相关。增加 php.ini
文件中的值解决了问题。