欢迎各位兄弟 发布技术文章
这里的技术是共享的
在用FileField上传大文件的时候,希望有个进度条显示进度,这样用户可以知道现在上传多少了,如果没有提示,用户就得傻傻地盯着屏幕,一动也不敢动,还得担心是不是上传出错了,比如如下效果:
这个效果需要服务器上安装PECL uploadprogress library,或者 APC, 可以打开状态报告admin/reports/status 查看你的服务器是否安装有这二个组件,如果没有,则需要你自己安装了。以下方法为安装PECL uploadprogress library,在CentOS 5上安装成功.
1.首先确认服务器上是否安装pear ,可以在命令终端用 "pear help" 来验证,如果返回找不到命令,则表示没有安装。没有则首先安装pear
yum install php-pear
2.安装 Uploadprogress.
pecl install uploadprogress
如果一切顺利,最后会看到success,如果显示failed,则可能是你没有安装phpize.先安装phpize,phpize包含在devel组件中
yum install php-devel
安装成功后再执行pecl install uploadprogress ,成功后会得到提示
You should add "extension=uploadprogress.so" to php.ini
3. 找到你的php.ini文件,
php --ini
我的在/etc/php.ini
4.在php.ini中 在Dynamic Extensions 附近加入:
extension=uploadprogress.so
5.重启你的Web服务器,我的为Apache,
service httpd restart
6.在admin/reports/status 中查看是否安装成功,如果成功则显示:
来自 http://drupalsh.cn/node/1323
我们可以使用PECL Upload progress或APC显示文件的上传进度,前者是Drupal首选推荐的方法。下面介绍一下在Debian系Linux服务器中如何安装和配置Upload progress。
首先安装预备环境
1 | sudo apt-get install php-pear php5-dev |
然后安装Upload progress
1 | sudo pecl install uploadprogress |
下面我们需要为php.ini文件加入extension=uploadprogress.so指令。需要注意的是:很多朋友将该指令直接添加到php.ini文件中。这样做当然没有问题,但这不是Debian way,会影响服务器的可维护性。那么怎么做呢?应该这样:
1 2 | cd /etc/php5/conf .d sudo vim uploadprogress.ini |
然后将extension=uploadprogress.so指令添加到uploadprogress.ini文件中。
重启apache后,验证uploadprogress是否安装成功。
1 | php -m |
我们还可以进入Drupal后台管理界面中的状态报告页面(URL:http://网站域名/admin/reports/status),查看Upload progress功能的启用状态。
来自 http://mydrupal.org/%E4%BD%BF%E7%94%A8upload-progress%E6%98%BE%E7%A4%BAdrupal%E7%9A%84%E6%96%87%E4%B...