這是本系統的download.php,主要負責下載和記數,其中文件格式均在註釋中說明.
//傳入num為要下載的文件編號,col=要下載的分欄
//ip不逾時下載次數加一
//檔案格式
//0編號//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="
系統將在3秒後返回....
<script>setTimeout('location.href="view.php?col=".$col.""',3000 )</script>";
$recfile=$uploadto.$col.".lst";
//取出ip檔
$fp=@fopen($ipfile,"r") 或 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
$ip=explode(":",$ip_times[$i]);
ip[0]==""||$ip[2]=="") continue;
eval ('$temp='.$abstime.'-'.$ip[2].';') ;
if($temp=0){
$ipinfo.=($ip_times [$i]."|"); 🎜>/ /echo $ipinfo;
if(strstr($ipinfo,$REMOTE_ADDR.":".$num))
{
$fp=@fopen($ipfile,"w") 或 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;$iif($i==99) die("系統出錯00".$goback);
$fp=@fopen($recfile,"r") 或 die("對不起不合法".$goback);
$info=explode(">",fread( $fp,filesize($recfile)));
fclose($fp);
copy($recfile,$recfile.".bak");
unlink($recfile);
for ($i=0;$i $items=explode(" 0])) continue;
if(trim($items[0])==$num){//下載的項目
if($firstdown) $filepath=$uploadto.$items[2];
$info[$i]= 🎜> }
}
//$writetofile=implode(">",$info);
if(!$fp=fopen($recfile,"w")){
copy($votefile.".bak ",$votefile);
die("出錯02".$goback);
}
for($i=0;$i if(trim($info[$i])!="") fputs($fp,trim($info[$i].">"));
}
fclose($fp);
echo "";
echo "";
echo "";
echo "
";
echo "
您的瀏覽器會在三休息後自動下載
";
echo "
";
echo "
";
echo "
";
echo "
";
//echo $HTTP_ENV_VARS["PATH_INFO "];
//echo "<script>window.location.href='".$filepath."';window.close();</script>";
echo "" ;
//header("內容類型:application/.rar");
//header("Content-Disposition:attachment; filename=".$filepath);
//Header("位置:".$filepath);
//header("內容描述:PHP3 產生的資料
?>
以上就介紹了不用資料庫的多用戶檔案自由上傳投票系統2,包括了方面的內容,希望對PHP教學有興趣的朋友有幫助。