测试功能: G级文件的上传下载
测试环境: xampp、chorme
1. 功能模块测试描述
(1) 模块名称: plupload
(2) 支持Drupal版本: 7.x
(3) 使用方法:
①:安装所需要模块
模块 | 功能 | 所需模块 |
IMCE 7.x | 图像/文件上传器和浏览器支持个人目录和用户配额 |
|
IMCE plupload 7.x | 将plupload与IMCE集成以启用多文件上传 | 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字段类型从int到 big 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模块可以把中文名改变成英文名,但是用户体验不太好。
方案二:问题的根本是php的basename()功能不支持国际化语言。或者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) 测试结果:
上传界面如图:
上传成功的文件如图: