Drupal--plupload模块

来源:互联网 发布:免费下载绘图软件 编辑:程序博客网 时间:2024/06/08 13:35

测试功能: G级文件的上传下载

测试环境: xampp、chorme

1. 功能模块测试描述 

(1) 模块名称 plupload

(2) 支持Drupal版本  7.x

(3) 使用方法

①:安装所需要模块

模块

功能

所需模块

IMCE  7.x

图像/文件上传器和浏览器支持个人目录和用户配额

 

IMCE  plupload  7.x

pluploadIMCE集成以启用多文件上传

IMCE  

Plupload integration module

Plupload integration module  7.x

提供一个上传元素

 

IMCE plupload

FileField Sources  7.x

 

扩展文件字段以允许引用现有文件,远程文件和服务器文件。

 

FileField Sources Plupload

FileField Sources Plupload  7.x

扩展文件字段以允许多个文件上传。

 

Plupload integration module

*my_test_module

安装模块的时候修改 file_managed字段

 

 

*my_test_module 具体代码(压缩包见附件):

1. /**

2.  * Implements hook_install()  

3.  在安装模块的时候修改 file_managed字段类型从intbig int

4.  */

5. function seedbox_install() {

6.   db_change_field('file_managed', 'filesize', 'filesize', array('type' => 'int', 'size' => 'big',));

7. }

8. /**

9.  * Implements hook_uninstall()

10.  卸载的时候改回去

11.  */

12. function seedbox_uninstall() {

13.   db_change_field('file_managed', 'filesize', 'filesize', array('type' => 'int', 'size' => 'normal',));

14. }

经过修改之后plupload就可以上传超过2G的文件了。

 

注意:需要将plupload文件夹放到drupal7/sites/all/libraries目录下,然后在“状态报告”中可以查看状态,若出现如图结果,则创建成功。

     

 

②:设置上传文件的大小限制

    第一步:在PHP.ini文件中查找以下内容:

   “max_execution_time =" 数值改为1200

   “max_input_time =  ”   数值改为1200

   “memory_limit =   ”    数值改为256

   “post_max_size = ”   需要上传多大的文件将数值改为多大

   “upload_max_filesize = ” 跟上面这个数值一样就可以了

第二步:在“配置—媒体”中设置文件上传限制(这里设置的是6G):

 

 

   ③:在“结构-内容类型”中创建新的文件类型

 

 

 

设置允许的文件类型

 

设置文件上传形式

 

设置最大上传数量

 

保存,即配置成功。

 

④:解决不能上传中文名称文件的问题

方案一:transliteration模块可以把中文名改变成英文名,但是用户体验不太好。

方案二:问题的根本是phpbasename()功能不支持国际化语言。或者basename()需要setlocal相对应的语言。但是单单设置setlocale(LC_ALL, 'zh_CN.UTF8');没有解决问题。

打开include\file.inc,修改代码

1. $file->filename = file_munge_filename(trim(basename($_FILES['files']['name'][$source]), '.'), $extensions);

2. 修改为:

    $file->filename = file_munge_filename(trim($_FILES['files']['name'][$source], '.'), $extensions);

 

1. if (!move_uoloaded_file($_FILES['files']['tmp_name'][$source], $file->filepath))

2. 修改为:if(!move_uploaded_file($_FILES['files']['tmp_name'][$source],iconv("UTF-8","gb2312",$file->filepath)))

 

 

(4) 测试结果:

    上传界面如图:

 

 

上传成功的文件如图: