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

这个文章不适应所有版本,所以要自己看明白再处理。

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


MoodleWindowsInstaller-latest-35版本下的修改位置在:MoodleWindowsInstaller-latest-35\server\php文件夹下。

 

post_max_size = 320M
upload_max_filesize = 320M

max_execution_time = 300
memory_limit = 328M

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值