我有一个网站每天会收到30-40k张照片上传,而现在我看到的问题越来越频繁地出现。这个问题是这样的:
我们的上传脚本会(通过$ _FILES ['name'] ['tmp_name']接收用户未上传的文件(照片),并且大部分时间是“部分”上传。
当然,起初我以为这是我的PHP代码犯了一个简单的错误,我花了几天的时间进行检查以确保确定,但是在对代码进行检查之后,我发现通过HTTP POST接收到的文件已上传到PHP实际上是错误的文件。因此,问题在到达我的代码之前就已经发生了。脚本收到的tmp文件(phpxxxx)有时是错误的,好像它已被另一个进程覆盖,通常被部分上传的文件覆盖了。
每个人都有看到这样的问题吗?任何帮助是极大的赞赏。经过数天的搜索/询问其他PHP开发人员之后,我将把它作为最后的选择
总结一下:
我目前正在使用Zend Framework并有一个上传文件表单.经过身份验证的用户可以上载文件,该文件将存储在应用程序的目录中,以及存储在数据库中的位置.这样它就可以显示为可以下载的文件.
<a href="/upload-location/filename.pdf">Download</a>
Run Code Online (Sandbox Code Playgroud)
但我注意到的是,具有相同名称的文件将覆盖uploads目录中的文件.没有错误消息,文件名也没有增加.所以我认为该文件必须被覆盖(或永远不会上传).
在上传,移动或存储这些文件时,我应该注意哪些最佳做法?我应该始终重命名文件,以便文件名始终是唯一的吗?