您的位置:首页网页设计PHP实例 → 不用数据库的多用户文件自由上传投票系统3

不用数据库的多用户文件自由上传投票系统3

时间:2004/11/7 3:24:00来源:本站整理作者:蓝点我要评论(0)

这是本系统的第四个文件.upload.php主要负责,文件名的校验

,上传文件和文件地址的归档





文件上传




//上传的栏目$col,$upfile上传的文件,$writer作者,$intro简介





$writer=substr(htmlspecialchars($writer),0,20);

$intro=substr(htmlspecialchars($intro),0,100);



$maxsize=512000*2;//最大的文件长度

$pathtemp=explode("/",$HTTP_ENV_VARS["PATH_INFO"]);

$pathtemp[sizeof($pathtemp)-1]="";

$cgiroot="http://".$HTTP_HOST.implode("/",$pathtemp);//主机加当前目录







//$cgiroot="http://eccct.51.net/cgi-bin/";

$uploadto="../uploadfile/".$col."/";//上传到的子目录



$goback="



系统将在3秒后返回....
";









set_time_limit(300);//可持续五分钟























//if(!is_dir($uploadto)) mkdir($uploadto,0755);



if($upfile_size>$maxsize)

die("

对不起,您要上传的文件太大了,超过了1MB

".$goback);



$filename=$upfile_name;

$i=0;

while(file_exists($uploadto.$filename)){

$i++;



$filesp=explode('.',trim($upfile_name));

//echo $filesp[sizeof($filesp)-1];

//echo $filesp[sizeof($filesp)-1]!="zip";

//echo $filesp[sizeof($filesp)-1]!="rar";



if((trim($filesp[sizeof($filesp)-1])!="zip") && (trim($filesp[sizeof($filesp)-1])!="rar")){



die("

上传文件的后缀名必须是zip或rar(小写)

".$goback);



}



$filename=$filesp[0].$i.".".$filesp[1];



}





if ($i>0)

echo ("对不起,您要上传的文件名已经存在了,
系统自动将其更名为".$filename."
");



//检查合理性结束



if(!copy($upfile,$uploadto.$filename)) die("

系统出现错误03,请将文件重传

".$goback);



//写文件列表

$fileurl=$uploadto.$filename;//文件url

$flists=$uploadto.$col.".lst";//文件列表位置



for($i=0;$i<100 && !file_exists($flists);$i++);

if($i==99) {

unlink($uploadto.$filename);

die("系统出错00".$goback);

}





copy($flists,$flists.".bak");

if(!$fp=fopen($flists,"r")){

unlink($uploadto.$filename);

die("出错01".$goback);

}

$filerc=explode(">",fread($fp,filesize($flists)));//上传的档案资料

fclose($fp);



unlink($flists);



$firstrec=explode("<",$filerc[0]);



if(!$firstrec[0]) $id=1;

else $id=$firstrec[0]+1;



$oldinfo=implode(">",$filerc);



$newinfo=$id."<".$writer."<".$filename."<0<".$intro."<".$upfile_size."<0>".$oldinfo;

//编号<作者<文件位置<投票计数<简介<文件大小<文件下载次数



if(!$fp=fopen($flists,"w")){

unlink($uploadto.$filename);

copy($flists.".bak",$flists);

die("出错02".$goback);

}



fwrite($fp,trim($newinfo));



fclose($fp);





//写文件列表结束





//文件传送



echo "

传送成功

";







echo "文件在".$cgiroot.$fileurl.".$goback";

//文件传送成功









?>











这是本文的最后一篇,主要介绍如何使用系统,让我们用个事例来说明:



例如我们要做flash作品上传投票,那我们只需要在../uploadfile/(相对系统php文件所在位置)子目录下建一个flash子目录,并在其中建立下列文件:flash.if(记录显示时出现的标题),flash.ip(投票ip记录),flash.ipd(下载ip记录),flash.lst(下载文件信息记录).然后使用view.php?col=flash就可使用系统了,如果要新增栏目/用户php作品上传,只需在../uploadfile/下另建子目录php,和相应文件,并使用view.php?col=php就可使用了 

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 我的php文件怎么打开_php运算符怎么写 php 如何生成静态页面的函数PHP生成图片缩略图PHP session常见问题集锦及解决办法PHP实现同步远程Mysql

人气排行 DEDE在文章列表文章没有缩略图的不显示图片php+mysq修改用户密码我的php文件怎么打开_如何打开php文件的办法FCKeditor的配置和使用方法使用dedecms建站教程PHP+Ajax实现分页技术图片存储与浏览一例Linux+Apache+PHP+MySQLPHP生成图片缩略图