基于PHP的文件提交系统的设计与实现

2018-04-10 03:12◆扈
网络安全技术与应用 2018年4期
关键词:服务器自动作业

◆扈 华

基于PHP的文件提交系统的设计与实现

◆扈 华

(内蒙古农业大学计算机与信息工程学院 内蒙古 010010)

在大学计算机公共课的实验课程教学过程中,基于网络的作业下发与提交是教学活动中不可缺少的一项重要内容。使用PHP语言设计并开发完成的文件提交系统能够方便、快捷地实现校园网范围内电子文档的提交,且将提交后的学生文档进行统一规范的整理、存放,为教师和学生的信息互动提供一种新的、高效的交流途径。

PHP;文件提交;电子文档

0 引言

文件提交功能一般都为复杂系统软件的一个模块,几乎没有成功的商业软件专门来实现文件提交功能的。即使找到了,也并不能完全适合某一特定的教学要求,且商业软件费用高昂,后期维护升级问题也会长期存在。

对于文件提交,目前计算机公共实验课堂上常用的手段有三种:发邮件、教务系统以及计算机公共课机房已经配置的“电子教室”软件系统。但是,上述三种手段在数据传送过程中,都有其弊端。

(1)发邮件提交文件的弊端

对于学生来说,有如下问题:①可能没有邮箱;②有邮箱但不会发邮件;③会发邮件但不会发附件;④会发附件,但附件较大时,好多邮件系统都不支持,即使支持大附件,保存时间也有限;⑤由于学生使用的邮件系统多种多样,加上服务器所在地址位置以及邮件服务器安全等级设置的原因,确实可能发生邮件收不到的小概率事件。

对于教师来说,通过邮件接收学生文件有如下问题:①下载费时;②要求学生对提交作业命名标识完全统一几乎不可能;③同一学生可能多次提交作业,导致教师对学生所提交的文件难以控制和管理。

(2)利用教务系统提交作业的不足

教务系统并不是针对作业提交的专门系统。对于使用者来说,作业发布与文件提交模块的使用方法比较繁琐,且系统运行速度还取决于校园网的维护状况。

(3)利用“电子教室”提交作业的不足

学生提交作业后,接收方需要有人员值守确认“接收”才能成功接收文件;且目前该提交作业的方法会使得“电子教室”经常出现软件“崩溃”而自动关闭的现象。

1 系统主要的技术及性能要求

文件提交系统基于Web技术、B/S模式(Browser/Server:浏览器/服务器),运行于WAMP环境(Windows平台下的Apache+MySQL+PHP),专门实现文件的提交。文件提交系统需要服务器和客户机支持。

客户机为浏览器可视化用户界面,用户信息校验成功后为文件提交页面,提交后有提交信息反馈。

服务器端有统一命名的学生目录,每个目录中存放对应学生上传的文件。服务器可部署到实验课机房的任意一台PC机上,学生只需打开浏览器,输入服务器相应IP即可直接跳转到作业或文件提交页面。输入学号、姓名即可上传本地文件,操作方法一目了然。解决了学生使用电子邮箱的各种困惑。通过对服务器进行设置,可实现:

(1)根据需要灵活设置提交作业文件的大小,解除了邮箱对附件大小的限制;

(2)通过将接收到文件的属性即使反馈给学生,使得学生能够直观掌握文件的发送情况,确保文件的正确传送;

(3)通过获取的学生学号或姓名信息自动命名学生提交的文件目录名,使得学生所提交文件命名标识完全统一。此外,通过对每名学生都分配了单独的目录,这会使得即使该学生多次提交文件,也只会存放到该学生对应的同一个目录下,能够极大方便教师对每个学生提交文件的管理。

对于该系统的使用,只需保证当前机房网络正常即可,与外界网络状况无关。由于服务器自动接收上传文件及自动反馈其属性信息,故并不需要人员值守确认“接收”,且服务器本身软、硬件进行过特殊配置,可长时间正常运行,并不会出现软件“崩溃”现象。

2 系统功能结构及流程设计

系统具备的各项软件功能,及在系统使用时各项功能的实现流程如图1所示。

图1 系统功能结构及其运行流程

3 系统实现文件上传功能的主要代码

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)){//如果目录不存在,则创建目录,并授予目录所有操作权限

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 "用户目录创建失败,请举手咨询老师!";}}}

?>

4 系统主要功能运行测试

用户在提交文件时需要提供学号、姓名及班级信息。系统可以根据提供的信息进行身份校验,并将上传成功后的文件进行自动分类管理,其用户界面如图2所示。

图2 用户信息输入及校验界面

用户信息校验成功后,会返回用户信息的确认界面及要上传文件所在路径的选择界面,如图3所示。

图3 用户信息确认及上传文件界面

点击图3中的“浏览”按钮,可以选择要上传文件的所在路径,然后点击“确认提交作业”,按钮。如上传文件成功,就会返回上传结果信息,如图4所示。

图4 选择上传文件路径及返回上传结果

系统会在预先设定好的某硬盘(如C盘)根目录下创建studentWork目录。文件提交完成后,会在studentWork目录下,根据用户信息自动创建对应的班级目录,如图5所示。

图5 班级目录的自动创建

同理,以目录“C:studentWork17园艺2”为例,会根据用户信息自动进行对应用户目录的创建,如图6所示。

图6 用户目录的自动创建

然后继续以目录“C:studentWork17园艺22017122022595-高熙敏”为例,会将该用户上传的文件“作业1.docx”存放于该用户对应的目录下,如图7所示。如果学生多次提交作业,所有提交的作业只会存放于其自己的用户目录中。

图7 上传及存放用户文件

5 结束语

文件提交系统可用于全校计算机公共课实验课(包含计算机基础、Visual Basic、C语言及Visual FoxPro等)作业的实时、快捷提交,能够极大地服务于实验课日常教学中实时教学任务的发布与学生反馈以及期终大作业的提交。该系统对于计算机公共实验课授课中教师和学生的互动以及信息传递能够产生较大的促进作用。

[1]高光,王宁. 基于 PHP 技术的电子商务系统的设计与实现[J].智能计算机与应用, 2017.

[2]石林江, 赵小兵.基于PHP的物流管理系统的设计与实现[J].电脑知识与技术, 2017.

[3]李国红.利用PHP+MySQL实现通用信息系统的建库建表功能[J].电脑编程技巧与维护, 2017.

[4]许敏, 边文钰,吴亚斌,杨传科.基于PHP的高校学生综合测评管理系统设计与实现[J].无线互联科技, 2017.

[5]任晓磊.基于PHP技术开发多媒体教室调换课与预约管理系统的研究[J].信息通信, 2017.

[6]朱佳轩,鄢雪梅.基于 Php-Web 技术的在线考试系统设计[J].电子设计工程, 2017.

[7]刘放美,马琳琳,蔡增玉等.基于PHP的多媒体教学资源管理系统设计与实现[J].软件工程, 2016.

[8]汪桂珍.基于Apache+PHP+MySQL的C语言学习系统的实现[J].科技资讯, 2016.

[9]刘源,王丹虹.基于PHP 的在线测试及考试系统的设计与实现[J].实验室科学, 2016.

[10]杨利荣,李伟.基于PHP语言系统的计算机辅助教学系统开发实现[J].自动化与仪器仪表, 2016.

内蒙古农业大学实验教学仪器设备研制与标本制作项目(文件提交系统与Word文档源码提取软件)。内蒙古农业大学研究生重点建设课程项目(SAS软件及应用)。

猜你喜欢
服务器自动作业
自动捕盗机
通信控制服务器(CCS)维护终端的设计与实现
PowerTCP Server Tool
让小鸭子自动转身
自动摇摆的“跷跷板”
得形忘意的服务器标准
关于自动驾驶
作业
计算机网络安全服务器入侵与防御
我想要自由