现在的位置: 首页 > 综合 > 正文

如何修改Moodle上传文件大小的限制

2013年09月04日 ⁄ 综合 ⁄ 共 2400字 ⁄ 字号 评论关闭
2008/12/1 16:41:08

这个文章写得很好的,不过不适应所有版本,所以要自己看明白,再处理。

moodle中有句话,关于上传文件大小的,自己先看明白,再看这篇文章吧。 (注)

一般来说,Moodle 系统中有四种级别的文件限制
- system level (php.ini)  
- moodle level (admin->Config ->Site variables->maxbytes)
- course level (Course settings->Max Upload size)  
- activity level     

至上而下,上一级别的优先级高于下一级。也就是说,下一级别的文件限制的大小不能超过上一级别。
比如说,你不能设置 php.in 的文件限制为8 mb 而 moodle level 的文件限制为 10 mb。

影响上传文件是否成功有以下两个原因
1. Moodle 的服务器配置 (php.ini, apache version, php version etc, hardware and network connectivity)
2. Your client-to-server bandwidth connection 宽带连接的速度

修改文件大小的限制
假设你需要把文件的限制改为 12MB , 可以在php.ini 中修改以下的参数

upload_max_filesize = 20M ;   (默认是2M )
max_execution_time = 300 ; ( 默认是 30 [seconds] )
post_max_size = 12M ;        ( 默认是 8M )

按照这个方法是可以成功,但是,记得再改完以后,要重启服务哦。

注意:::这个php.ini是apache2目录下的php.ini……

_____________________________________________

moodle1.83升级到1.85+微调
不升级即到1.9,因为有一部份中文化有问题,1.85已经解决中文课程名称了。

1.下载最新版,解压到新目录
2.下载中文,放lang/zh_tw_utf8
3.复制config.php到新目录,更改新路径
   如果移机还要把moodledata/sessions里的东西全部清掉
4.启动后,登入ADMIN即可更新
5.顺便安装额外的 Curl 函式库、 OpenSSL 函式库、xmlrpc
   cd /usr/ports/lang/php4-extensions
   make config
   make deinstall
   make reinstall (不先deinstall可能会失败)
6.安装防毒(上传档案时检查)/usr/ports/security/clamav  make install

如果要保存原来mysql数据,先复制一份,将database前导符修改,配合config.php
这样不算升级,算是复制后升级,保留原来档案。

微调:
1.[/usr/local/share/mysql] # cp my-medium.cnf my-small.cnf 不够的话下次调my-large.cnf
Linux 则是把my-huge.ini 复制给my.ini
2.将教师权限改成可还原(更改)学生密码.
在网站管理(区块)->用户->权限->定义角色中,把教师的权限中(在下方),
里面有个「更新使用者数据」开为允许即可。
3.禁止/避免学员修改姓(由管理员大量建制账号的改『只允许手工添加账号』)
STEP1:网站选单-->用户-->身分认证--> 选择『电子邮件确认』后方(课程设定)
STEP2: 将您要禁止修改的字段,选定为【已锁定】
STEP3: 储存后,使用者将无法编辑这些字段。
4.让开课教师或(教师)上传作业,不然教师没法示范上传作业
网站管理_用户_权限_定义角色_开课教师(教师)_权限_作业_缴交作业_允许_储存更改。
5.让中文档名可上传:
先改config.php中再加入$CFG->unicodecleanfilename = true;
接着修改 file.php,把最后几行有一个 //$filename = $args[count($args)-1]; 批注掉
6.账号窗体的国家的默认值先设成『台湾』
修改程序 moodle/login/signup_form.php
约49行 $mform->setDefault('country', '');
更改为 $mform->setDefault('country', 'TW');
7.学生上传档案大小限制改32MB
先改php.ini: post_max_size = 32M
upload_max_filesize = 32M
memory_limit = 32M
再改moodle网站设定: 33554432 (32MB = 32x1024x1024 bytes)
记得更新课程设定
8.重新上传汇入学生资料,上次中文姓名没成功,先用phpMyAdmin删除user,再网络爬文:
修改程序admin/uploaduser.php
约第190 行, 主要使用 iconv('big5','UTF-8',"******") 來转换资料编码为UTF- 8
185~186批注掉:
// else if ($name == "username") {
// $user->username = addslashes(moodle_strtolower($value));
// }
其实把档案用ConvertZ.exe转big5成utf8格式就OK了

PS:php.ini 在哪里 ( 可以用 phpinfo(); 查出来
以 XAMPP 包装( for Wondows)为例,真正使用的 php.ini档案放在 apache/bin 目录中,而非php 目录里面的那一个。
FreeBSD 的php.ini 在 /usr/local/etc
Ubuntu 的php.ini 在 /etc/php5/apache2/php.ini
CentOS maybe in the /etc/php.ini  //fedora

抱歉!评论已关闭.