最近对web方式上传大文件比较感兴趣,一直在尝试如何通过php上传大文件。不过你放心,cosbeta这篇文章不是告诉你如何修改php.ini中的post_max_size和upload_max_filesize,一来很多虚拟主机不允许你修改php.ini,即使允许修改,也不太可能让你将size修改到100M,同时php的max执行时间也会让你头痛不已,一句话,用php来实现传统方式的大文件上传是不太可能的。
那么如果一定要上传上100M的大文件是不是就一定没有办法了呢,未必,至少cosbeta就认为可以从两个方面来着手解决这个问题,一是客户端辅助,另外一个方式就是利用perl CGI。
客户端辅助方式是采用java applet或者activex辅助,将用户上传的文件在客户端分解成小文件,一个一个上传,然后在服务器端进行组合。当然applet和activeX各有优缺点,applet需要下载JRE,操作本地文件会有安全提示,会对用户体验不好。而activeX仅仅支持IE,这点众所周知。可惜cosbeta不熟悉activeX的编写,也不太喜欢applet,所以放弃了这个想法。
另外一个方法就是perl CGI了,这个网络现成的程序一大堆,所以这里我就不废话了。
今天用perl + ajax解决了带有进度条大文件上传,非常高兴,便记录下来之!
标签:PHP
不懂perl…据说perl非常强大