当用户上传文件时,随机将其替换为另一个用户的上传,我最终将问题追溯到PHP并重新使用tmp文件名.有没有办法来解决这个问题?有没有办法制作更好的随机名称?它随着时间的推移似乎会降级,因为随机文件名种子变得越来越弱?这是在PHP 5.2.8和FreeBSD 7.0上
这是一个日志,显示了如何使用相同的tmp文件名并被另一个上传覆盖:http://pastebin.com/m65790440
任何帮助是极大的赞赏.我一直试图解决这个问题超过4个月,并且随着时间的推移变得更糟.谢谢.
编辑:请记住,这不是PHP代码问题,这是在它到达任何PHP代码之前发生的,通过$ _FILES ['name'] ['tmp_name']收到的文件在收到并且被跟踪时是不正确的在它到达上传处理脚本之前,它被其他人的上传覆盖了
我有一个网站每天会收到30-40k张照片上传,而现在我看到的问题越来越频繁地出现。这个问题是这样的:
我们的上传脚本会(通过$ _FILES ['name'] ['tmp_name']接收用户未上传的文件(照片),并且大部分时间是“部分”上传。
当然,起初我以为这是我的PHP代码犯了一个简单的错误,我花了几天的时间进行检查以确保确定,但是在对代码进行检查之后,我发现通过HTTP POST接收到的文件已上传到PHP实际上是错误的文件。因此,问题在到达我的代码之前就已经发生了。脚本收到的tmp文件(phpxxxx)有时是错误的,好像它已被另一个进程覆盖,通常被部分上传的文件覆盖了。
每个人都有看到这样的问题吗?任何帮助是极大的赞赏。经过数天的搜索/询问其他PHP开发人员之后,我将把它作为最后的选择
总结一下: