Home  >  Article  >  Backend Development  >  Voting system Multi-user file free upload voting system without database 3

Voting system Multi-user file free upload voting system without database 3

WBOY
WBOYOriginal
2016-07-29 08:34:30856browse

这是本系统的第四个文件.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秒后返回....
<script>setTimeout('location.href="view.php?col=".$col.""',3000)</script>";
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";
//文件传送成功
?>




This is the last article of this article, which mainly introduces how to use the system. Let us use an example to illustrate:
For example, if we want to upload flash works for voting, then we only need to Create a flash subdirectory in the ../uploadfile/ (relative to the location of the system php file) subdirectory, and create the following files in it: flash.if (the title that appears when the record is displayed), flash.ip (voting ip record) , flash.ipd (download IP record), flash.lst (download file information record). Then use view.php?col=flash to use the system. If you want to add a new column/upload user PHP works, just in. Create another subdirectory php and corresponding files under ./uploadfile/, and use view.php?col=php to use it.

The above introduces the voting system. Multi-user file free upload voting system 3 without a database, including the voting system. I hope it will be helpful to friends who are interested in PHP tutorials.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn