先说一下文件上传的过程。
当点击上传之后,先上传至服务器的临时文件区,然后利用php的move_uploaded_file函数将文件从临时地址搬到目标地址。
文件上传失败90%的原因都是由于从客户端上传到服务临时文件区发生的。导致失败的原因常见如下:
1. 文件大而用户的上行带宽太小(非光纤用户带宽通常是上行带宽是下行带宽的1/10--1/8)
2. 用户上行带宽被占用,比如同一网络出口有人在搞直播或者利用微信通话
如何解决?
1. 将文件在客户端处理成更小的文件
2. 将apache默认的30秒断开修改成更长的时间
3. 有文件上传时先解除上行带宽的占用,比如对直播喊停等 |
|