我有一个网站,每天接收 30-40k 张照片上传,现在我发现问题弹出的频率更高。本期是这样的:
我们的上传脚本接收(通过 $_FILES['name']['tmp_name'])用户未上传的文件(照片),大多数情况下收到的文件是“部分”上传。
当然,一开始我以为是我的 PHP 代码犯了一个简单的错误,我花了几天时间检查它以确保确定,但是在对代码进行检查之后,我发现文件是通过 HTTP POST 接收的上传到PHP其实是错误的文件。所以问题在到达我的代码之前就已经发生了。脚本接收到的 tmp 文件 (phpxxxx) 有时是不正确的,就好像它被另一个进程以某种方式覆盖并且通常被部分上传的文件覆盖。
有没有人见过这样的问题?任何帮助是极大的赞赏。在搜索/询问其他 PHP 开发人员几天后,我将此作为最后的手段
总结一下:
- 用户上传照片
- PHP 脚本接收到用户未上传的文件(预编码,通过/var/tmp 中的 $_FILES)
- 通常收到的不正确文件是部分上传或上传损坏
- 这似乎是随机发生的,而不是一直发生
最佳答案
首先,检查您的 PHP 版本。
其次,检查 php.ini 中的文件上传限制和 POST_MAX_SIZE
可能只是有人试图上传一个太大的文件:-)
关于部分上传的 PHP 文件上传为 "hijacked",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/609064/