这是本系统的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("d",$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>