首页 > 解决方案 > tmp 文件未上传 PHP

问题描述

从最近开始,我正在使用 PHP,但在上传图片时遇到了问题。

我的代码在我的本地机器上运行良好;但是,当上传到我的虚拟机上时,文件没有上传到 tmp 文件夹。

我试图查看使用“ print_r($_FILES); ”从$_FILES填充的数组,这就是我在数组中得到的:

array ( [image] => array ( [name] => avatar-1.jpg [type] => image/jpeg [tmp_name] => /tmp/phpfkhvrw [error] => 0 [size] => 1029 ) )

我查看了php.ini文件,一切似乎都井井有条。我还检查了其他一些类似问题的文章,但没有任何建议有效。

我认为这与envvars文件中的权限有关,配置如下:

export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

但是,服务器上的所有文件都以 root 作为用户和组。

我真的希望有人可以分享一些这方面的知识,因为我真的不知道下一步该做什么。

标签: phpapachephp-7.2

解决方案


您在这里向我们展示的内容证明文件上传成功。您需要更具体地说明您认为失败的原因。

正如 Zeusarm 所暗示的,已创建的文件 (/tmp/phpfkhvrw) 在 HTTP 请求完成后不会持续存在 - 它会被 PHP 删除。如果您想在请求后保留此失败,则需要调用move_uploaded_file()

服务器上的所有文件都以 root 作为用户和组

您可能想要处理您的权限模型。


推荐阅读