【发布时间】:2011-02-25 14:51:24
【问题描述】:
为什么文件只能部分上传?
我正在改进我的 PHP 文件上传脚本中的错误处理,并试图弄清楚如何正确处理 UPLOAD_ERR_PARTIAL。
我应该提示用户再次尝试上传文件,还是应该通知他们有更严重的问题阻止他们上传可能是合法的文件?
【问题讨论】:
标签: php error-handling upload file-upload
为什么文件只能部分上传?
我正在改进我的 PHP 文件上传脚本中的错误处理,并试图弄清楚如何正确处理 UPLOAD_ERR_PARTIAL。
我应该提示用户再次尝试上传文件,还是应该通知他们有更严重的问题阻止他们上传可能是合法的文件?
【问题讨论】:
标签: php error-handling upload file-upload
为什么一个文件可能只是部分 上传了吗?
这通常是由于用户取消上传造成的。
我是否应该提示用户尝试 再次上传文件,或者我应该 告诉他们还有更多 正在阻止的严重问题 他们从上传可能 合法文件?
您应该提示他们再试一次,如果问题仍然存在,请联系网站所有者,包括尽可能详细的信息。
【讨论】:
.abort() PHP 将如何接收用户取消上传的信息?
UPLOAD_ERR_PARTIAL 在文件数据后未找到 mime 边界时给出。造成这种情况的一个可能原因是用户取消了上传(按 ESC 等)。
我认为通知用户文件只是部分上传就足够了,重试将解决问题。
【讨论】:
--。经验教训:-)
嗯,文件上传可能会被中断:
目的地空间不足
连接中断
损坏文件
名字错误
错误的扩展名
等等……
您可以做的最好的事情是在将文件实际发送到服务器之前,通过确实验证来验证和保护上传过程......
我第一次做文件上传脚本,我用了1行代码,现在,同样的脚本看起来像一个网页;)
已编辑(控制扩展名和文件大小的示例):
如果((
($file_up["type"] == "image/gif") || ($file_up["type"] == "image/jpeg") || ($file_up["type"] == "image/jpg") || ($file_up["type"] == "image/pjpeg") || ($file_up["type"] == "image/bmp") || ($file_up["type"] == "image/tiff") || ($file_up["type"] == "image/png")) && ($file_up["size"] < 1050000)) { code if all ok... }
【讨论】:
这是一个旧帖子,但我遇到了一个 UPLOAD_ERR_PARTIAL 的随机问题,并发布我的解决方案。
问题是,在上传 2/3 后,我得到了 UPLOAD_ERR_PARTIAL 的错误,而客户端没有任何中断。
我的问题与 Keep-Alive 服务器有关。
我通过在上传的 PHP 脚本末尾插入来解决它
header ("Connection: close");
强制关闭连接。这解决了我的问题。
希望有人能帮忙。
感谢LINK
【讨论】:
这可能对某些人有所帮助,但我遇到了同样的问题。 我的解决方案是卸载 libapache2-mod-php5filter 并将其替换为经典的 libapache2-mod-php5
【讨论】:
我有同样的问题,并且与包 libapache2-mod-php5filter 相关,我删除了 p 和问题结束。 我希望有人可以提供帮助。
【讨论】:
我今天在本地机器上处理 ajax 文件上传时遇到了这个问题,直到我意识到(一小时后)我在另一个程序(MS Excel)中打开了同一个文件(CSV)。关闭相关程序后一切恢复正常。
希望有帮助!
【讨论】: