不用数据库的多用户文件自由上传投票系统(2)
author:一佰互联 2019-05-01   click:173
这是本系统的download.php,主要负责下载和记数,其中文件格式均在注释中说明. <html> <?php //传入num为要下载的文件号,col=要下载的分栏 //ip不超时下载次数加一 //文件格式 //0编号<1作者<2文件位置<3投票计数<4简介<5文件大小<6文件下载次数 //ip文件格式  地址:项目:时间 $uploadto="../uploadfile/".$col."/";//上传到的子目录 $cgiroot="http://eccct.51.net/cgi-bin/";    //主机加当前目录 $pathtemp=explode("/",$HTTP_ENV_VARS["PATH_INFO"]); $pathtemp[sizeof($pathtemp)-1]=""; $cgiroot="http://".$HTTP_HOST.implode("/",$pathtemp);//主机加当前目录 $ipfile=$uploadto.$col.".ipd";//下载用的ip文件 $overtime=4;//超时时间小时 $goback="<br><br><br><br><center>系统将在3秒后返回....</center><script>setTimeout("location.href="view.php?col=".$col.""",3000)</script>"; $recfile=$uploadto.$col.".lst"; //取出ip文件 $fp=@fopen($ipfile,"r") or die("对不起该投票不合法".$goback); $ipinfo=fread($fp,filesize($ipfile)); fclose($fp); unlink($ipfile); $times=getdate(); $abstime=$times["yday"].sprintf("%02d",$times["hours"]); //绝对时间  //把超时的ip去掉 $ip_times=explode("|",$ipinfo); $temp=""; $ipinfo="";     for($i=0;$i<sizeof($ip_times);$i++){         $ip=explode(":",$ip_times[$i]);         if($ip[1]==""||$ip[0]==""||$ip[2]=="") continue;         eval ("$temp=".$abstime."-".$ip[2].";");         if($temp<$overtime&&$temp>=0){         $ipinfo.=($ip_times[$i]."|");         }     } //echo $ipinfo; if(strstr($ipinfo,$REMOTE_ADDR.":".$num)) {     $fp=@fopen($ipfile,"w") or die("出现错误".$goback);     fwrite($fp,$ipinfo);     fclose($fp);     $firstdown=0;//第一次下载 } else{ $firstdown=1;//不是第一次下载 $ipinfo=$ipinfo.$REMOTE_ADDR.":".$num.":".$abstime."|"; $fp=@fopen($ipfile,"w") or die("出现错误".$goback); fwrite($fp,$ipinfo); fclose($fp); } //ip判断结束 for($i=0;$i<100 && !file_exists($recfile);$i++); if($i==99) die("系统出错00".$goback); $fp=@fopen($recfile,"r") or die("对不起不合法".$goback); $info=explode(">",fread($fp,filesize($recfile))); fclose($fp); copy($recfile,$recfile.".bak"); unlink($recfile); for($i=0;$i<sizeof($info);$i++){     $items=explode("<",$info[$i]);          if(!trim($items[0])) continue;     if(trim($items[0])==$num){//要下载的项目         if($firstdown)         $items[6]++;         $filepath=$uploadto.$items[2];         $info[$i]=implode("<",$items);                 break;     }          } //$writetofile=implode(">",$info); if(!$fp=fopen($recfile,"w")){ copy($votefile.".bak",$votefile); die("出错02".$goback); } for($i=0;$i<sizeof($info);$i++){     if(trim($info[$i])!="") fputs($fp,trim($info[$i].">")); }     fclose($fp); echo "<head><meta http-equiv="refresh" content="3;URL=".$filepath."">"; echo "<link rel="stylesheet" href="../css/eccct.css"></head>"; echo "<body class=tb >"; echo "<div >"; echo "<br><br><br>"; echo "<div class="values">您的浏览器会在三秒钟后自动下载</div>"; echo "<br><br><br>"; echo "<div class="values">或者点击<a href="".$filepath."">此处</a>下载</div>"; echo "<br><br><br>"; echo "</div>"; //echo $HTTP_ENV_VARS["PATH_INFO"]; //echo "<script>window.location.href="".$filepath."";window.close();</script>"; echo "</body>"; //header("Content-type: application/.rar"); //header("Content-Disposition: attachment; filename=".$filepath); //Header("Location: ".$filepath); //header("Content-Description: PHP3 Generated Data ?> </html>