php - 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 作为用户和组。
我真的希望有人可以分享一些这方面的知识,因为我真的不知道下一步该做什么。
解决方案
您在这里向我们展示的内容证明文件上传成功。您需要更具体地说明您认为失败的原因。
正如 Zeusarm 所暗示的,已创建的文件 (/tmp/phpfkhvrw) 在 HTTP 请求完成后不会持续存在 - 它会被 PHP 删除。如果您想在请求后保留此失败,则需要调用move_uploaded_file()
服务器上的所有文件都以 root 作为用户和组
您可能想要处理您的权限模型。
推荐阅读
- php - 防止 Web 会话攻击
- react-native - React native 中的任务:app:installDebug FAILED
- firebase - 是否可以从函数返回 Firestore 数据?
- zsh - 将 zsh 命令行参数传递到 xargs 引号中
- swiftui - SwiftUI 中某些设备上出现 No ObservableObject of type XXX 的错误
- php - 合并或组合两个数组 - 仅当指定的 id 存在时
- c++ - C++:外部类中静态内部类实例的构造和销毁
- git - 如果我的 GitHub 存储库也是已发布的 npm 模块,我可以归档它吗?
- javascript - 在javascript中将sort和uniq函数合并为1
- python - 将列表值转换为数据框