admin 管理员组

文章数量: 1087135


2024年4月23日发(作者:软件架构师免费视频教程)

维普资讯

第2l4卷第2期 

2006年o4月 

佳木斯大学学报(自然科学版) 

Joumal of Jiamusi University(Natural Science Edition) 

V01.2l4 No.2 

Apr. 2006 

文章编号:1008—1402(2006)o2—0189—04 

用PHP向WEB服务器指定目录上传课件文件 

汤凤香, 吕同富 

(佳木斯大学。黑龙江佳木斯154007) 

摘要:本地“课件文件”上传到服务器后,服务器脚本对“课件文件”进行保存,有很多办法,其中之 

是把“课件文件”保存到服务器特定目录下,对“课件文件”重名,程序自动作了修改,在其前面加上了上 

传时问以保证“课件文件名”的唯一性,但这失去了“课件文件”的原始名字,通过“课件文件名”查询特定 

“课件文件”信息有很多困难,不利于“课件文件”管理,我们将这种方法加以改进使之能够满足按“课件文 

件名”查询特定“课件文件”的要求. 

关键词: 开放性自维护;课件库平台;程序设计;上传文件 

中图分类号: TP393.o93 文献标识码:A 

0 引言 

“开放性自维护CAI课件库平台”研究工作已 

经结束,我们用PHP+Mysql成功地实现了“CAI课 

件库平台”的“开放性和自维护性”这一“网络维护” 

中的“创新课题”,此项目具有广泛的应用前景,网 

络维护是一项耗费人力物力和财力的工作,因此而 

制约了网络的发展,“开放性自维护CAI课件库平 

台”的成功研制和开发,为“课件库平台”等网络维 

护节省大量的人力物力和财力.随着宽带网络在全 

国大部分地区逐步开通,利用网络资源“开放性自 

(在作者的《用P}Ⅱ)在web页面上管理课件》中介 

绍),这种办法有很多问题,如文件重名,虽然程序 

自动作了更改,在其前面加上了上传时间以保证文 

件名的唯一性,但这失去了文件的原始名字,通过 

文件名查询特定的文件信息有很多困难,不利于文 

件管理,这种办法的优点是上传课件的大小不受限 

制. 

1.2把文件保存到数据库中利用数据库,可 

以实现文件的各种操作.因为数据库有很多优点, 

特别是数据库具有很强的检索功能等,首先需要解 

决的一个难题就是,现在还没有哪一个数据库的 

维护CAI课件库平台”共享“CAI课件”,可以避免 

大量“优秀课件”的重复开发,可以毫不夸张地讲, 

“开放性自维护CAI课件库平台”的成功研制和开 

发,必将为我国教育事业的现代化起到不可估量的 

作用. 

“字段变量”能直接存放“文件类型的数据”,不仅如 

此还有其它缺点,如当数据库中记录很多时,检索 

的效率很低,上传课件文件的大小受到限制等. 

1.3在1.1的基础上作些改进,在检索课件 

文件时,再把上传时前面加上日期前缀去掉后再作 

其它操作,想象一下,要远程操作一个目录,像操作 

自己本地机上目录一样实在不是一件容易的事情. 

就我们所想到的以上三种方法,很难说哪一种 

最好,只是程序实现起来难易程度有所不同而已, 

下面我们给出1.3中所介绍的方法(1.3中所介绍 

1 算法分析和关键思路 

“开放性自维护CAI课件库平台”,关键技术 

是:“上传的课件如何按学科、专业等信息自动送达 

指定的浏览和下载区域”,经过分析我们认为有三 

种可行方案. 

I.1作为本地的课件文件,上传到服务器后, 

的方法,在作者的《开放性自维护课件文件上传算 

法研究》中介绍)。 

服务器脚本将课件文件保存到服务器指定目录下, 

①收稿日期-2006一l2—23 

作者简介:喜蓄界 篱轰馨 1汤风香( 一学978  ),女,黑龙江佳木斯人,龙目江佳木斯人,佳木斯大学数学系讲师,研究方向为计算方法. 

维普资讯

190 佳木斯大学学报(自然科学版) 

if(fileexists(¥counter

ifle)) 

{ 

2006年 

2.PHP程序实现 

这组程序演示了如何将硬盘的一个文件通过 

¥fp fopen(¥counter—file,”r,’); 

¥count=0+fset ̄(¥fp,6); 

fclose(¥fp); 

网页,上传到服务器的数据库里面,并且读出文件 

的内容. 

2.1 con_ifg。php:配置上传目录。指定脚本安装目 

} 

录 

Contig.php 

<?P肿 

¥uploaddir=”files/”;//注意需要建立files 

目录 

¥uploadurl=”http://127.0.0.1/php/upfile/”: 

//脚本安装目录,需根据实际更改 

¥uploadnumber=5;//同时可以上传多少个 

文件 

¥uname=”[文件上传]”;//页面标题 

? > 

2.2 dir.php显示上传目录的文件 

<‘f PH 

require(”conilg.php”); 

require(”header.php”); 

¥handle=opendir(”¥uploaddir”); 

echo”<P>已上传文件列表<br>\n目录 

¥uploadurl¥uploaddir</p>\n”: 

¥file=readdir(¥handle); 

while(¥file=readdir(¥handle)){ 

echo”<a href=¥uploadud¥uploaddir 8 ifle 

target=一blank>¥file</a><br> \n”: 

} 

closedir(¥handle); 

? > 

<hr size=1 au =left width=300> 

<P><font color=#45ACF6>[<a href=in. 

dex.php>返回上传页</a>]</font></p> 

</body> 

</html> 

2.3 index.php主页文件 

<?P 

require(”conifg.php”); 

function get

hitcount(¥counter—file) 

{ 

¥count=0: 

¥count++: 

¥币=fopen(¥counter—file,”W”); 

fput ̄(¥fp,¥count); 

fclose(I}fp); 

return(¥count); 

} 

? > 

<table align:”center”border=”1”width=” 

500”height=’’2O0”> 

<tr> 

<td iwdth=”100%”colspan= 6’bgcolor=’’# 

F8C870”> 

<P aling=”center”><font size=1>点击浏览 

按钮可选择一至五个文件</font></td> 

</tr> 

<tr> 

<td width=”100%”colspan=”6”> 

<form action=”upload.php”method=post enc, 

type=”muhiparfform—data”> 

<center> 

<?P} folr(¥i=1;¥i<= ¥uploadnum. 

her;¥i++){echo”¥i.<input type=file name= 

\”useffile[¥i]\” 

ize=50 style=、”border:lpx solid silver;font— 

size:12px;\”><br>\n”;}?> 

<input type=submit value=”开始文件上传” 

style=”color:black;font—size:14px;height:24px;’’ 

> 

</center> 

</form> 

</td> 

</tr> 

<tr> 

<td colspan=”6”bgeolor=”# F1DEo”><a 

href=dir.php><font size=l>已上传文件</a> 

<bgcolor=”#聃FUEo”>剩余空间:<?PHP 

echo diskfreespace(”.”); 

prinff(”字节访问次数:%d”,get

hitcount(” 

维普资讯

第2期 

counter.txt”)); 

汤凤香,等:用PHP向WEB服务器指定目录上传课件文件 l9l 

n:50 leftmargin=8O style:”scmllbar一3d—light— 

?></font></tr> 

<tr> 

color:#00A8FF;scmllbar—highliht—cgolor:# 

002A3E;scmllbar—face—color:#oo2A3E;scrollbar— 

arrow—color:#00A8FF:scml[bar—shadow—color:# 

0OA8FF:scmllbar—base—color:#00A8FF;”> 

<td hgc ̄]or “#FFFFCC”><font size=l>注 

释</font></td> 

<td bgcolor:“#FFFFCC”><font size:1>上 

2.5 upload.php上传文件 

传文件大小不得超过2MB<br> 

文件名会变成小写,并且加上Et期前缀<br> 

php会自动更名为.phpx<br> 

php3会自动更名为.php3x<br> 

文件名中空格自动更改为“一”</font></td> 

</tr> 

</table> 

</body> 

</html> 

2.4 header.php显示背景文件(di r.php中include 

文件) 

<html> 

<head> 

<style TYPE=”text/css”> 

body {font—size:16px;line—height:22px; 

font—family:fixedsys;} 

A:link {text—decoration:none;color:# 

ffl ̄;} 

A:visited {text—decoration:none;color:# 

咄;} 

A:ac ̄ve {text—decoration:none;color:# 

ffff;} 

A:hover {text—decoration:underline;color: 

white;} 

A.fileslink:link {text—decoration:underhne; 

color:#ffff;} 

A.fileslink:visited {text—decoration:under- 

line;color:#ffff;} 

A.fileslink:active {text—decoration:under— 

line;color:#fffff;} 

A.fileslink:hover {text—decoration:under— 

line;color:white} 

</style> 

<tilte><?PHI'echo¥unamei? ></tilte> 

</head> 

<body bgcolor:black text=#DDDDDD topmar。 

<?PHP 

require(”config.php”); 

reuqire(”header.php”); 

ech0”<font color=#45ACF6> \n”; 

f0.r(¥i:l;¥i<:¥uploadnumber;¥i+ 

+){ 

if(@is—file(”¥userfile[¥i]”)){ 

¥filesif=1; 

ceho”<hr size=1 width=500 align=left>、n 

<font c0l0r=white>No.0¥i</font><br> \n’’; 

ceho”<table cellspacing 0 cellpaddJng=0>< 

tr><td width:200><font color=silver>¥userfile 

nalTle[¥i]</font></td><td width=130>体 

积:<font color=gray 

>¥userfile—size[¥;i]</font></td><td> 

类型:<font color:gray>¥userfile type[¥;i.j</ 

font></td></tr></table> \n’’; 

¥timeheader=date(”Ynd”);//在给文件名 

加上时间前缀以防止重名 

¥nowfile[¥i]:strtolower(”¥uploaddir 

¥timeheader¥userfile n帅e[¥i]”); 

¥nowfile[¥i]=strtr(¥nowfile[¥i],…’,” 

"); 

¥nowfile[¥i]=str replace(”.php”,”. 

phpx”,¥nowfile[¥i]); 

¥nowfile[¥i]=str replace(”.php3”,”. 

php3x”,¥nowfile[¥i]); 

if(@is file(”¥nowfilef¥j]”)){ 

ceh0”文件上传失败<br>\n原因:文件已 

存在<P>\n”; 

}else{ 

if(@copy(¥usertile[¥i],¥nowfile[¥i]))} 

ceho”文件上传成功<br>\n地址为<a 

href=¥uploadurl¥nowfile[¥i]target=一blank class 

ifleslink>¥uploadurl¥nowfileI¥i]</a></p> 

\n”: 

}else{ 

维普资讯

192 佳木斯大学学报(自然科学版) 

<hr size=1 width=500 align=left> 

2006年 

if(@copy(¥userifle[¥i],¥nowfile[¥i])){ 

echo”文件上传成功<br)\n地址为<a href: 

¥uploadurl¥nowfile[¥i]targer=

<P>目前剩余空间:<?PHP ech0 disk— 

freespace(”+”);?>字节</p> 

blank class=file— 

slink>¥uploadurl¥nowfile[¥i]</a></p>、n": 

}else{ 

echo”文件上传失败</p>\n”; 

} 

} 

@unlink(3}userifle[3}i]); 

} 

} 

echo”</font>\n”: 

<P><font color=#45ACF6>[<fl href=dir. 

phP>已上传文件列表</a>]</p> 

<P>[<fl href=index.php>返回上传页</a 

>]</font></p> 

</body> 

</html> 

参考文献: 

[1]PHI'项目应用实例[M].北京:中国水利水电出版社2OO2. 

[2] 吕同富.数据库文件内容的保密方法[J]+电脑学习.1999. 

3. 

if(!¥filesff){ 

echo”<P>你并没有上传任何文件.</p> 

\n”; 

[3] 吕同富.开放性自维护课件文件上传算法研究[J].计算机 

工程。2OO5。1. 

} 

? > 

[4]晏子(译).My .chm太平洋软件资询站. 

[5]浪子(译).PHP4.chin太平洋软件资询站. 

Upload Files to Web Server Directory with PHP 

TANC Feng—x/ang,

(J 

LU 一 

University,jlnm,,d 154007,Oatna) 

Abstract:There are many ways to save ifles after beiI1g uploaded to the server.One c0mm叩method is to ren蛐e 

he ftiles by adding the uploading date to 0 西瑚l file to keep fl unique nanle for each file.H0wever。there is a disad— 

vantage due to the prefix of he ftile name:it is diicuh tfo uerqy a speciifc file

This method was improved by the鲫. 

thors,which Call query a specific file easily

. 

Key words-opening self-maintenance;system of coursewa

re;progtmmrr ̄r;upload 


本文标签: 文件 课件 上传 目录 服务器