目前为止,使用php上传文件如果想实现真正的进度条,只有三种方法:
1、使用PHP的创始人 Rasmus Lerdorf 写的 APC扩展模块 来实现;
2、使用PECL扩展模块 uploadprogress 实现;
3、使用flash+PHP来实现,推荐使用 swfupload。
4、使用php5.4以上版本,$_SESSION中支持读取文件的上传进度。示例请看这里:http://blog.feizhaojun.com/?p=22
因为变态的IOS对flash很不友好,所以我们抛弃了第三种方法,采用了第一种使用php_apc.dll扩展。下面我们讲一下方法1。
1.服务器配置(基于windows)
我使用的是IIS7.0+FastCGI+PHP搭建的web环境,添加了apc扩展之后FastCGI经常崩溃,但是只是可以凑合着用。
具体方法:
1.1 下载 php_apc.dll,我下载的是5.3版本的php_apc-3.1.10-5.3-vc9-x86.zip,压缩包下载之后里面有nts和ts两个文件夹,这个根据你安装的php是nts(非线程安全)还是ts(线程安全),phpinfo里面Thread Safety显示enable的话就是ts,disabled就是nts。
1.2 将下载的php_apc.dll放到PHP安装文件夹下单ext文件夹,然后按照如下修改php.ini(注意php.ini可能在php安装文件夹也可能在C:\windows,具体那个是有效的查看你的phpinfo();):
修改post_max_file = 1000 M
修改upload_max_filesize = 1000 M
添加以下内容:
extension=php_apc.dll
apc.rfc1867 = on
apc.max_file_size = 1000M
1.3 重启IIS(或者你的是Apache)。
1.4 打开phpinfo();,看是不是支持apc扩展,或者使用如下代码测试:
if(function_exists("apc_fetch")) {
echo "安装成功!";
} else {
echo "安装失败,请重新安装!";
}
您的赞助将会支持作者创作及本站运维
评论
共1条留言测试
发表评论