過去,我們請學生作業上傳,總是替每一個學生建立帳號,在教學的現場上,學生一天到底忘記帳號密碼;同時,新進轉走的學生,老師還要一一的刪除帳號,煩不勝煩。為什麼不改變做法?因此,我讓每個老師開作業,請同學自己上傳時設定密碼,學生下次上課時,再用設定的密碼把自己的檔案下載修改或刪除。另外,學生上傳時,其他同學都可以下載別人的作業,有些偷懶的學生還會下載同學的作業下來改,我改進這個缺點,只要老師開作業時設定「不展示」則此作業就只能上傳,其他人無法下載。
老師可以設定上傳期間,上傳期間才可上傳,藉此控管學生繳交作業的期間;如果比較龜毛一點,還可以設定上傳的密碼防止別班同學傳錯,學生在上課時老師告知密碼,學生上傳前要先輸入這組密碼,才淮許上傳,雖然我覺得這是給自己找麻煩,不過此功能我還是有寫。
程式特色
* 學生不必用帳號密碼登入
* 學生上傳作業時設定一組密碼,未來下載、修改刪除使用此組密碼
* 可限制上傳時間、可限制上傳密碼
* 防止學生下載或刪除別人作業
* 可開關展示,展示中一般訪客可下載,不開放展示則只有上傳者在「上傳時間」自己下載。
* 可開關生效,不生效作業則不能上傳,也不在列表中。
* 教師管理作業,可將優秀作品放至展示、也可設定通過/不通過。
程式畫面
批改展示優良作業
系統需求及更新
php >=5.1, Mysql >=5.0
最後更新 2017.4.20
下載
[程式] GITHUB https://github.com/AxerZ/homework (作業上傳使用GITHUB 安裝的說明)
[資料庫檔] 目錄中 hw_database.sql 中,餵入資料庫後請將整個目錄刪除
安裝
準備工作
首先你要有git, 如果沒有git,請參考windows, linux, freebsd 下安裝git 這篇或官網[1] 。
使用git安裝
假設現在要安裝在 /path/to/homework 這個目錄
修改目錄的權限
$ chmod 777 libs/cache
$ chmod 777 libs/templates_c
餵入資料庫
建立 mysql 的資料庫 `hw` 並給予權限,可進入mysql console操作
CREATE USER 'hw'@'localhost';
GRANT USAGE ON * . * TO 'hw'@'localhost' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
CREATE DATABASE IF NOT EXISTS `hw` ;
GRANT ALL PRIVILEGES ON `hw` . * TO 'hw'@'localhost';
$ mysql -u hw -p -B hw < hw_database.sql
$ rm hw_database.sql
修改設定檔
修改系統設定檔 includes/init.php 修改貴站的參數,下列為一定要修改的參數
define(
'DB_NAME'
,
"homework"
);
// 資料庫名
define(
'DB_ADDR'
,
"localhost"
);
// 連線位址
define(
'DB_USR'
,
"homework"
);
// 資料庫使用者
define(
'DB_PWD'
,
"3Ca------RdfP"
);
//資料庫的密碼
define(
'SUPER_PASSWD'
,
"12345"
);
//最高權限user 密碼
define(
'SITE_CNAME'
,
"作業上傳"
);
define(
'SITE_DN'
,
"example.com"
);
// 網站DOMAIN NAME或IP
define(
'UPLOAD_DIR'
,
"/home/axer/php/homework/"
.UPDIR );
//上傳實體路徑
修改目錄存取權限
修改 upload/.htaccess
如果要限制防盜圖,請將下面二行註解"#"拿掉,伺服器路徑依實際路徑修改
#RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?example.com [NC]
#RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]
如果要限制防盜所有檔案,請將下面二行註解"#"拿掉,伺服器路徑依據實際路徑更改
#RewriteCond %{HTTP_REFERER} !^http(s)?://192.168.0.1/hwtest/homework.php [NC]
#RewriteRule (.+) - [NC,F,L]
不想限制則不需修改
開啟你的防火牆或SELINUX設定
略
測試
開啟你的網頁,看看有沒有正確顯示
預設帳號密碼
管理的預設帳號是 default@note.tc.edu.tw 密碼是 0000
請建立新的使用者後將他刪除。
其他說明
1. 感謝 新北市林士立師提供,加入修改作者群 http://163.20.124.29/~t301000/
2. 版權宣告:本程式遵從GNUv3規範 http://www.gnu.org/licenses/gpl.html 您可以依自身需要修改,但不得販售及營利
3. 要修改版面,檔案放在 images/index中
原文 2012-03-15 16:28:40