[精讚] [會員登入]
285

作業上傳程式

提供學生作業上傳的程式

此文完整連結 http://n.sfs.tw/10940

複製連結 作業上傳程式@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2017-09-04 11:17:15 最後編修
2017-03-26 02:55:49 By 瘦河馬
 

過去,我們請學生作業上傳,總是替每一個學生建立帳號,在教學的現場上,學生一天到底忘記帳號密碼;同時,新進轉走的學生,老師還要一一的刪除帳號,煩不勝煩。為什麼不改變做法?因此,我讓每個老師開作業,請同學自己上傳時設定密碼,學生下次上課時,再用設定的密碼把自己的檔案下載修改或刪除。另外,學生上傳時,其他同學都可以下載別人的作業,有些偷懶的學生還會下載同學的作業下來改,我改進這個缺點,只要老師開作業時設定「不展示」則此作業就只能上傳,其他人無法下載。

老師可以設定上傳期間,上傳期間才可上傳,藉此控管學生繳交作業的期間;如果比較龜毛一點,還可以設定上傳的密碼防止別班同學傳錯,學生在上課時老師告知密碼,學生上傳前要先輸入這組密碼,才淮許上傳,雖然我覺得這是給自己找麻煩,不過此功能我還是有寫。

程式特色

* 學生不必用帳號密碼登入
* 學生上傳作業時設定一組密碼,未來下載、修改刪除使用此組密碼
* 可限制上傳時間、可限制上傳密碼
* 防止學生下載或刪除別人作業
* 可開關展示,展示中一般訪客可下載,不開放展示則只有上傳者在「上傳時間」自己下載。
* 可開關生效,不生效作業則不能上傳,也不在列表中。
* 教師管理作業,可將優秀作品放至展示、也可設定通過/不通過。

程式畫面

批改展示優良作業

系統需求及更新

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 這個目錄

$ cd /path/to/homework
$ git init
$ git pull http://github.com/AxerZ/homework.git

修改目錄的權限

$ chmod -R 777 upload/
$ 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';

 

SET PASSWORD FOR 'hw'@'localhost' = PASSWORD( '123456' );
$ cd /path/to/homework
$ mysql -u hw -p -B hw < hw_database.sql
$ rm hw_database.sql

修改設定檔

修改系統設定檔 includes/init.php 修改貴站的參數,下列為一定要修改的參數

$ vi /path/to/homework/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('SITE_URL', "http://". SITE_DN ."/homework/");  // 修改網站位址,請保留字串最後的 '/'
 
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

你可能感興趣的文章

設定Google analytics API #2 -- PHP的程式安裝和撰寫 讓你的網站能夠存取你的Google analytics上面的資料

[PHP] 如何寫callback function 召回函數(回呼函數) PHP如何寫召回函數或回呼函數(callback function)?

[phpmyadmin] 設定預設語言(Language) phpmyadmin預設進來是會選擇你瀏覽器預設的語系,改成正體中文

[PHP] 檢查檔案是否是圖檔 使用getimagesize函數檢查檔案是否是圖檔

[PHP] 判斷程式是從CLI、本地網路或是網際網路端執行的方法 PHP利用IP判斷程式是從CLI、本地網路或是網際網路端執行的方法

[PHP] 移除陣列或字串中的重覆元素 移除陣列或字串中的重覆元素

[PHP] 檢查IP是否在某個網段內 mtachcidr 要檢查IP是否在某個網段內,要寫幾行?10行?5行? 不用,只要2行。以下是我寫的 code /** * matchCI

[PHP] 將字串的部分加上遮罩的函式 有些資料會想要隱藏部分的字元,例如身分證號或信用卡號、電話等。我寫了一個函式來完成這個功能。

Smarty安裝 smarty 是著名的樣版引擎,非常的好用,用多了突然發現拿掉smarty反而不會寫php了,以下是安裝過程..

[phpmyadmin] 缺少 mcrypt 外掛,請檢查 PHP 設定 缺少 mcrypt 外掛,請檢查 PHP 設定,安裝php-mcrypt。

我有話要說


限制:留言最高字數1000字,超過部分會被截掉。請注意:留言不可帶有網址,會被濾掉。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

UTF-8 BOM (Byte Order Mark) 的問題 在 Michael Kaplan 那看到 Every character has a story #4: U+feff

UTF-8的網頁但IE8一片空白 UTF8編碼的網頁在Firefox 正常顯示、但IE8 就是空白,IE8編碼設定是「自動偵測」可是自動偵測到的是 big5...

[CodeIgniter 3] 資料庫的使用方法整理2/2 CI3 承襲 CI2,有很多的builder class可以用,依各人的使用習慣,有人喜歡一堆sql字串,有人喜歡用helper

[MAC] 安裝APACHE+PHP OS Darwin OpenIDMac1deAir 15.6.0 Darwin Kernel Version 15.6.

[AS3] 物件加上超連結的方法 物件加上超連結,可讓使用者點擊的方法