☆朱亞林
(如皋高等師范學校,江蘇如皋 226500)
隨著計算機網(wǎng)絡技術在教育教學中的普及,信息化教學已經(jīng)走入了常規(guī)課堂,越來越多學科(尤其是計算機學科)的作業(yè)都需要以電子文檔的形式提交??v觀現(xiàn)在的電子作業(yè)提交方式,不外乎以下幾種:一是以U盤的形式進行拷貝,二是通過電子教室軟件即時提交,三是通過Email發(fā)送,四是通過IM軟件進行發(fā)送,五是通過網(wǎng)絡存儲(如快盤、dropbox等軟件)進行網(wǎng)絡共享。表1將對這五種方式的優(yōu)缺點進行比較。
表1
通過表1,可以發(fā)現(xiàn),目前各種作業(yè)提交方式各有優(yōu)劣。對學生而言,除使用U盤提交不夠方便外,其他幾種基于網(wǎng)絡的方式都沒有太大問題。而對于教師而言,這幾種提交方式都不盡如人意,存在一定的缺陷。從教師的角度考慮,其理想狀態(tài)是能在自己的計算機中按照班級、作業(yè)次數(shù)等規(guī)則設置幾個文件夾,學生一旦通過網(wǎng)絡提交作業(yè),就能夠自動地按照規(guī)則保存到這幾個文件夾中。這樣,只要網(wǎng)絡存在,無論是學生還是教師,作業(yè)的提交與收取都不再有時間和空間的限制,且不繁雜,不需要消耗太多時間。
按照這樣一個思路,筆者設計出一個基于快盤的作業(yè)提交系統(tǒng),其需要達到如圖1所示的目標:教師在計算機上安裝快盤客戶端,并在快盤目錄下,按照作業(yè)提交規(guī)則,分班級、作業(yè)次數(shù)新建相應的文件夾。而這些文件夾信息都會即時通過Web服務器上的“作業(yè)提交與查詢界面”來呈現(xiàn)。此時,學生就可以在該界面上選擇班級文件夾、作業(yè)次數(shù)文件夾,然后提交作業(yè),一旦作業(yè)提交成功就會通過Web服務器自動上傳到快盤相應目錄中,而教師計算機中相應的目錄下也會即時同步到學生的作業(yè)文件,以此來完成作業(yè)的提交。
圖1
對于圖1所示的對象中,快盤是一項網(wǎng)絡服務,我們只需下載相應軟件即可,無需我們多做設置。本文重點講解的是運行在Web服務器上的作業(yè)提交與查詢界面的制作。
要完成上述開發(fā),首先,準備一臺支持PHP語言的Web服務器(使用普通計算機搭建即可,沒有特殊要求),以下設計的網(wǎng)頁應用程序將在該服務器上運行;其次,需要一個快盤賬號(可到快盤網(wǎng)站免費申請)。
首先,到 http://www.kuaipan.cn/developers/document.htm獲取快盤開發(fā)所需要使用的PHP版本的SDK[1]。所謂SDK,是指一些被軟件工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等建立應用軟件的開發(fā)工具的集合,它相當于為開發(fā)、應用相關軟件而預留的拓展工具和接口。因此,有了SDK以后,與快盤的服務器通信就可以順利實現(xiàn)。
在快盤PHP版本的SDK中,一般提供用戶身份的驗證功能、查詢文件夾功能、上傳文件功能、下載文件功能、新建文件(夾)功能、刪除文件(夾)功能,等等,由于我們的程序只需要提供作業(yè)提交與查詢功能,所以,使用到的主要是用戶身份驗證、文件上傳、文件(夾)信息查詢功能。
使用過快盤的用戶都知道,需要向一個指定的快盤中上傳文件,必須要通過身份驗證才行。也就是說,只有提供了正確的用戶信息,才能訪問該賬戶下的相關內(nèi)容。所以,學生通過網(wǎng)頁端向指定的快盤賬號上傳文件首先遇到的就是身份驗證的問題。我們不可能將用戶名、密碼告知學生,所以,只能使用快盤提供的OAuth協(xié)議來解決這個問題,即,教師用自己的快盤賬號登錄,授權給搭建在服務器上的網(wǎng)頁應用程序,讓該應用程序有權訪問你的快盤,且該授權時間要足夠長,以保證學生在任何時間都能順利通過驗證。因此,筆者將通過OAuth協(xié)議認證之后的access_token(訪問令牌)信息保存到服務器上指定的目錄下。在此之后,一旦該網(wǎng)頁應用程序需要認證身份時,就去到該目錄下讀取該信息,從而保證學生使用時,可以順利訪問到快盤中相應的信息。
實現(xiàn)代碼:
(1)在第一次通過身份驗證后,將產(chǎn)生的$access_token保存到指定文件中。
快盤的SDK中提供了文件(夾)信息查詢這一功能,但使用SDK得到的返回值是一個包含文件夾與文件各項信息的數(shù)組$ret。此時,我們可以通過PHP語言將該數(shù)組的內(nèi)容解析后,以規(guī)范的形式顯示出來。代碼如下:
上述代碼實現(xiàn)的是將文件夾與文件分開顯示,并且點擊文件夾的名稱后,可以進入下一層文件夾中,從而實現(xiàn)文件夾的自由切換,方便學生查閱文件夾中的信息。
通過查詢文件夾模塊,我們可以獲取到當前文件夾內(nèi),以及當前文件夾的路徑兩方面的信息。接下來,我們只要通過表單將需要上傳的文件提交到該目錄下就可以了。實現(xiàn)步驟如下:
上傳文件的表單只需要一個form就可以了,具體代碼如下:
表單制作好了,我們還需要將文件通過表單進行傳輸才行。上傳文件的思路:先通過表單將文件提交到服務器上的一個臨時中轉的文件夾,比如:這里將會用到的upload,然后,再將這一文件通過SDK提供的文件上傳功能從服務器上提交到快盤相應的目錄下,最后刪除服務器上的臨時文件。具體實現(xiàn)代碼如下:
圖2
通過上述步驟,我們就實現(xiàn)了一個基于快盤API的作業(yè)提交系統(tǒng),實際運行效果如圖2所示,也可以通過訪問 http://www.zhuyalin.cn/page/cloudpen -upload.html來 直觀感受。通過該系統(tǒng),借助于快盤這個網(wǎng)絡存儲工具,我們即可以達到本文所述目標,實現(xiàn)提交作業(yè)與收取作業(yè)的無縫對接,為信息化教學助力添翼。
[1]龔承軍.快盤PHP SDK(附帶各api的demo實現(xiàn)).http://bbs.kuaipan.cn/forum.php芽mod=viewthread&tid=21006