◆扈 華
基于PHP的文件提交系統(tǒng)的設計與實現(xiàn)
◆扈 華
(內蒙古農業(yè)大學計算機與信息工程學院 內蒙古 010010)
在大學計算機公共課的實驗課程教學過程中,基于網絡的作業(yè)下發(fā)與提交是教學活動中不可缺少的一項重要內容。使用PHP語言設計并開發(fā)完成的文件提交系統(tǒng)能夠方便、快捷地實現(xiàn)校園網范圍內電子文檔的提交,且將提交后的學生文檔進行統(tǒng)一規(guī)范的整理、存放,為教師和學生的信息互動提供一種新的、高效的交流途徑。
PHP;文件提交;電子文檔
文件提交功能一般都為復雜系統(tǒng)軟件的一個模塊,幾乎沒有成功的商業(yè)軟件專門來實現(xiàn)文件提交功能的。即使找到了,也并不能完全適合某一特定的教學要求,且商業(yè)軟件費用高昂,后期維護升級問題也會長期存在。
對于文件提交,目前計算機公共實驗課堂上常用的手段有三種:發(fā)郵件、教務系統(tǒng)以及計算機公共課機房已經配置的“電子教室”軟件系統(tǒng)。但是,上述三種手段在數據傳送過程中,都有其弊端。
對于學生來說,有如下問題:①可能沒有郵箱;②有郵箱但不會發(fā)郵件;③會發(fā)郵件但不會發(fā)附件;④會發(fā)附件,但附件較大時,好多郵件系統(tǒng)都不支持,即使支持大附件,保存時間也有限;⑤由于學生使用的郵件系統(tǒng)多種多樣,加上服務器所在地址位置以及郵件服務器安全等級設置的原因,確實可能發(fā)生郵件收不到的小概率事件。
對于教師來說,通過郵件接收學生文件有如下問題:①下載費時;②要求學生對提交作業(yè)命名標識完全統(tǒng)一幾乎不可能;③同一學生可能多次提交作業(yè),導致教師對學生所提交的文件難以控制和管理。
教務系統(tǒng)并不是針對作業(yè)提交的專門系統(tǒng)。對于使用者來說,作業(yè)發(fā)布與文件提交模塊的使用方法比較繁瑣,且系統(tǒng)運行速度還取決于校園網的維護狀況。
學生提交作業(yè)后,接收方需要有人員值守確認“接收”才能成功接收文件;且目前該提交作業(yè)的方法會使得“電子教室”經常出現(xiàn)軟件“崩潰”而自動關閉的現(xiàn)象。
文件提交系統(tǒng)基于Web技術、B/S模式(Browser/Server:瀏覽器/服務器),運行于WAMP環(huán)境(Windows平臺下的Apache+MySQL+PHP),專門實現(xiàn)文件的提交。文件提交系統(tǒng)需要服務器和客戶機支持。
客戶機為瀏覽器可視化用戶界面,用戶信息校驗成功后為文件提交頁面,提交后有提交信息反饋。
服務器端有統(tǒng)一命名的學生目錄,每個目錄中存放對應學生上傳的文件。服務器可部署到實驗課機房的任意一臺PC機上,學生只需打開瀏覽器,輸入服務器相應IP即可直接跳轉到作業(yè)或文件提交頁面。輸入學號、姓名即可上傳本地文件,操作方法一目了然。解決了學生使用電子郵箱的各種困惑。通過對服務器進行設置,可實現(xiàn):
(1)根據需要靈活設置提交作業(yè)文件的大小,解除了郵箱對附件大小的限制;
(2)通過將接收到文件的屬性即使反饋給學生,使得學生能夠直觀掌握文件的發(fā)送情況,確保文件的正確傳送;
(3)通過獲取的學生學號或姓名信息自動命名學生提交的文件目錄名,使得學生所提交文件命名標識完全統(tǒng)一。此外,通過對每名學生都分配了單獨的目錄,這會使得即使該學生多次提交文件,也只會存放到該學生對應的同一個目錄下,能夠極大方便教師對每個學生提交文件的管理。
對于該系統(tǒng)的使用,只需保證當前機房網絡正常即可,與外界網絡狀況無關。由于服務器自動接收上傳文件及自動反饋其屬性信息,故并不需要人員值守確認“接收”,且服務器本身軟、硬件進行過特殊配置,可長時間正常運行,并不會出現(xiàn)軟件“崩潰”現(xiàn)象。
系統(tǒng)具備的各項軟件功能,及在系統(tǒng)使用時各項功能的實現(xiàn)流程如圖1所示。
圖1 系統(tǒng)功能結構及其運行流程
if(isset($_POST['up'])){
$dir="/studentWork/".$banji."/".$xuehao."-".$xingming;//學生目錄
if(is_dir($dir)) {//如果目錄存在
if($_FILES['f1']['error']>0){//上傳文件是否有錯
echo "錯誤:".$_FILES['f1']['error'];}
else {
$tmp_filename=$_FILES['f1']['tmp_name'];
$filename=$_FILES['f1']['name'];
$dir="/studentWork/".$banji."/".$xuehao."-".$xingming."/";//定義上傳文件在服務器端的目錄
if(is_uploaded_file($tmp_filename)){//上傳文件是否成功
if(move_uploaded_file($tmp_filename, $dir.$filename)){//移動上傳文件
echo "文件上傳成功!"."
";
echo "你上傳的文件名為:".$filename."
";
echo "文件大小為:".($_FILES['f1']['size']/1024)."KB";}
else{
echo "上傳文件失??!";}}}}
else {
if(mkdir($dir,0777)){//如果目錄不存在,則創(chuàng)建目錄,并授予目錄所有操作權限
if($_FILES['f1']['error']>0){
echo "錯誤:".$_FILES['f1']['error'];}
else {
$tmp_filename=$_FILES['f1']['tmp_name'];
$filename=$_FILES['f1']['name'];
$dir="/studentWork/".$banji."/".$xuehao."-".$xingming."/";
if(is_uploaded_file($tmp_filename)){
if(move_uploaded_file($tmp_filename, $dir.$filename)){
echo "文件上傳成功!"."
";
echo "你上傳的文件名為:".$filename."
";
echo "文件大小為:".($_FILES['f1']['size']/1024)."KB";}
else{
echo "上傳文件失敗!";}}}}
else{
echo "用戶目錄創(chuàng)建失敗,請舉手咨詢老師!";}}}
?>
用戶在提交文件時需要提供學號、姓名及班級信息。系統(tǒng)可以根據提供的信息進行身份校驗,并將上傳成功后的文件進行自動分類管理,其用戶界面如圖2所示。
圖2 用戶信息輸入及校驗界面
用戶信息校驗成功后,會返回用戶信息的確認界面及要上傳文件所在路徑的選擇界面,如圖3所示。
圖3 用戶信息確認及上傳文件界面
點擊圖3中的“瀏覽”按鈕,可以選擇要上傳文件的所在路徑,然后點擊“確認提交作業(yè)”,按鈕。如上傳文件成功,就會返回上傳結果信息,如圖4所示。
圖4 選擇上傳文件路徑及返回上傳結果
系統(tǒng)會在預先設定好的某硬盤(如C盤)根目錄下創(chuàng)建studentWork目錄。文件提交完成后,會在studentWork目錄下,根據用戶信息自動創(chuàng)建對應的班級目錄,如圖5所示。
圖5 班級目錄的自動創(chuàng)建
同理,以目錄“C:studentWork17園藝2”為例,會根據用戶信息自動進行對應用戶目錄的創(chuàng)建,如圖6所示。
圖6 用戶目錄的自動創(chuàng)建
然后繼續(xù)以目錄“C:studentWork17園藝22017122022595-高熙敏”為例,會將該用戶上傳的文件“作業(yè)1.docx”存放于該用戶對應的目錄下,如圖7所示。如果學生多次提交作業(yè),所有提交的作業(yè)只會存放于其自己的用戶目錄中。
圖7 上傳及存放用戶文件
文件提交系統(tǒng)可用于全校計算機公共課實驗課(包含計算機基礎、Visual Basic、C語言及Visual FoxPro等)作業(yè)的實時、快捷提交,能夠極大地服務于實驗課日常教學中實時教學任務的發(fā)布與學生反饋以及期終大作業(yè)的提交。該系統(tǒng)對于計算機公共實驗課授課中教師和學生的互動以及信息傳遞能夠產生較大的促進作用。
[1]高光,王寧. 基于 PHP 技術的電子商務系統(tǒng)的設計與實現(xiàn)[J].智能計算機與應用, 2017.
[2]石林江, 趙小兵.基于PHP的物流管理系統(tǒng)的設計與實現(xiàn)[J].電腦知識與技術, 2017.
[3]李國紅.利用PHP+MySQL實現(xiàn)通用信息系統(tǒng)的建庫建表功能[J].電腦編程技巧與維護, 2017.
[4]許敏, 邊文鈺,吳亞斌,楊傳科.基于PHP的高校學生綜合測評管理系統(tǒng)設計與實現(xiàn)[J].無線互聯(lián)科技, 2017.
[5]任曉磊.基于PHP技術開發(fā)多媒體教室調換課與預約管理系統(tǒng)的研究[J].信息通信, 2017.
[6]朱佳軒,鄢雪梅.基于 Php-Web 技術的在線考試系統(tǒng)設計[J].電子設計工程, 2017.
[7]劉放美,馬琳琳,蔡增玉等.基于PHP的多媒體教學資源管理系統(tǒng)設計與實現(xiàn)[J].軟件工程, 2016.
[8]汪桂珍.基于Apache+PHP+MySQL的C語言學習系統(tǒng)的實現(xiàn)[J].科技資訊, 2016.
[9]劉源,王丹虹.基于PHP 的在線測試及考試系統(tǒng)的設計與實現(xiàn)[J].實驗室科學, 2016.
[10]楊利榮,李偉.基于PHP語言系統(tǒng)的計算機輔助教學系統(tǒng)開發(fā)實現(xiàn)[J].自動化與儀器儀表, 2016.
內蒙古農業(yè)大學實驗教學儀器設備研制與標本制作項目(文件提交系統(tǒng)與Word文檔源碼提取軟件)。內蒙古農業(yè)大學研究生重點建設課程項目(SAS軟件及應用)。