猿问

tmp文件未上传PHP

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

我的代码在我的本地计算机上运行良好;但是,在我的VM上上传文件时,该文件不会上传到tmp文件夹。

我试图查看正在用$ “ _prints($ _ 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用户和组权限。

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


12345678_0001
浏览 181回答 3
3回答

喵喔喔

您在此处向我们显示的内容证明文件上传成功。关于失败的原因,您需要更加具体。正如Zeusarm所暗示的那样,HTTP请求完成后,已创建的文件(/ tmp / phpfkhvrw)不会保留-由PHP删除。如果要在请求后保留此失败,则需要调用move_uploaded_file()服务器上的所有文件均以root用户和组身份您可能需要处理权限模型。

回首忆惘然

事实证明,该文件是在tmp目录中上载的,但并未移动,因为html和tmp文件夹的所有者和组为root。更改了文件夹的所有者和组,现在一切正常。sudo chown www-data:www-data FolderName -R或者,可以在所有文件夹上使用权限777,但不建议这样做。
随时随地看视频慕课网APP
我要回答