2010-11-19 85 views
0

我已经做了一个程序,我可以上传一个文件。一切工作正常。 但是,当我尝试上传11MB文件,它似乎是永久加载或发送文件到服务器永远..文件上传似乎永远!

我已经尝试将upload_max_filesize设置为20M。

任何想法可能是什么原因以及如何解决这个问题?

+1

请说明几件事情: – 2010-11-19 08:43:30

+0

您的网络连接速度(是否DSL?如果是这样,上传速度明显低于下载速度) – 2010-11-19 08:44:02

+0

您能显示您使用的代码吗? – 2010-11-19 08:44:58

回答

0

为什么几乎肯定与您的连接速度有关。除非通过局域网连接相关设备,否则很可能会通过消费级宽带连接进行连接。这些都经常配置,以便下载速度远远高于上传速度。因此,需要一分钟左右下载的20兆文件需要10分钟或更长时间才能通过同一连接上传。

除了切换到企业级宽带连接之外,您可以做些什么?没有什么大不了的,这些位只会在你有的连接上传输的速度非常快,而且不会更快。但是,您至少可以向用户通知上传的进展情况。从版本5.2开始,PHP提供了可用于监视文件上载进度的钩子。您可以使用JavaScript来监视这些挂钩并向用户显示进度条。

http://www.phpriot.com/articles/php-ajax-file-uploads

+0

如果确实是一个纯粹的带宽问题,那么肯定值得关注TCP Window scaling问题/ QOS路由问题。 – symcbean 2010-11-19 11:48:20

0

“永远”是多久?消费者宽带的典型上传速度是每秒256千比特,在这个速度下,一个11兆字节文件将需要over five minutes上传。

如果您使用的是Google Chrome网页浏览器,您会得到一个上传进度条,以便您可以判断它是否正常工作。