不用數(shù)據(jù)庫(kù)的多用戶文件自由上傳投票系統(tǒng)(2)
更新時(shí)間:2006年10月09日 00:00:00 作者:
這是本系統(tǒng)的download.php,主要負(fù)責(zé)下載和記數(shù),其中文件格式均在注釋中說(shuō)明.
<html>
<?php
//傳入num為要下載的文件號(hào),col=要下載的分欄
//ip不超時(shí)下載次數(shù)加一
//文件格式
//0編號(hào)<1作者<2文件位置<3投票計(jì)數(shù)<4簡(jiǎn)介<5文件大小<6文件下載次數(shù)
//ip文件格式 地址:項(xiàng)目:時(shí)間
$uploadto="../uploadfile/".$col."/";//上傳到的子目錄
$cgiroot="http://eccct.51.net/cgi-bin/"; //主機(jī)加當(dāng)前目錄
$pathtemp=explode("/",$HTTP_ENV_VARS["PATH_INFO"]);
$pathtemp[sizeof($pathtemp)-1]="";
$cgiroot="http://".$HTTP_HOST.implode("/",$pathtemp);//主機(jī)加當(dāng)前目錄
$ipfile=$uploadto.$col.".ipd";//下載用的ip文件
$overtime=4;//超時(shí)時(shí)間小時(shí)
$goback="<br><br><br><br><center>系統(tǒng)將在3秒后返回....</center><script>setTimeout('location.href="view.php?col=".$col.""',3000)</script>";
$recfile=$uploadto.$col.".lst";
//取出ip文件
$fp=@fopen($ipfile,"r") or die("對(duì)不起該投票不合法".$goback);
$ipinfo=fread($fp,filesize($ipfile));
fclose($fp);
unlink($ipfile);
$times=getdate();
$abstime=$times["yday"].sprintf("%02d",$times["hours"]);
//絕對(duì)時(shí)間
//把超時(shí)的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("出現(xiàn)錯(cuò)誤".$goback);
fwrite($fp,$ipinfo);
fclose($fp);
$firstdown=0;//第一次下載
}
else{
$firstdown=1;//不是第一次下載
$ipinfo=$ipinfo.$REMOTE_ADDR.":".$num.":".$abstime."|";
$fp=@fopen($ipfile,"w") or die("出現(xiàn)錯(cuò)誤".$goback);
fwrite($fp,$ipinfo);
fclose($fp);
}
//ip判斷結(jié)束
for($i=0;$i<100 && !file_exists($recfile);$i++);
if($i==99) die("系統(tǒng)出錯(cuò)00".$goback);
$fp=@fopen($recfile,"r") or die("對(duì)不起不合法".$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){//要下載的項(xiàng)目
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("出錯(cuò)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'>您的瀏覽器會(huì)在三秒鐘后自動(dòng)下載</div>";
echo "<br><br><br>";
echo "<div class='values'>或者點(diǎn)擊<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>
<html>
<?php
//傳入num為要下載的文件號(hào),col=要下載的分欄
//ip不超時(shí)下載次數(shù)加一
//文件格式
//0編號(hào)<1作者<2文件位置<3投票計(jì)數(shù)<4簡(jiǎn)介<5文件大小<6文件下載次數(shù)
//ip文件格式 地址:項(xiàng)目:時(shí)間
$uploadto="../uploadfile/".$col."/";//上傳到的子目錄
$cgiroot="http://eccct.51.net/cgi-bin/"; //主機(jī)加當(dāng)前目錄
$pathtemp=explode("/",$HTTP_ENV_VARS["PATH_INFO"]);
$pathtemp[sizeof($pathtemp)-1]="";
$cgiroot="http://".$HTTP_HOST.implode("/",$pathtemp);//主機(jī)加當(dāng)前目錄
$ipfile=$uploadto.$col.".ipd";//下載用的ip文件
$overtime=4;//超時(shí)時(shí)間小時(shí)
$goback="<br><br><br><br><center>系統(tǒng)將在3秒后返回....</center><script>setTimeout('location.href="view.php?col=".$col.""',3000)</script>";
$recfile=$uploadto.$col.".lst";
//取出ip文件
$fp=@fopen($ipfile,"r") or die("對(duì)不起該投票不合法".$goback);
$ipinfo=fread($fp,filesize($ipfile));
fclose($fp);
unlink($ipfile);
$times=getdate();
$abstime=$times["yday"].sprintf("%02d",$times["hours"]);
//絕對(duì)時(shí)間
//把超時(shí)的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("出現(xiàn)錯(cuò)誤".$goback);
fwrite($fp,$ipinfo);
fclose($fp);
$firstdown=0;//第一次下載
}
else{
$firstdown=1;//不是第一次下載
$ipinfo=$ipinfo.$REMOTE_ADDR.":".$num.":".$abstime."|";
$fp=@fopen($ipfile,"w") or die("出現(xiàn)錯(cuò)誤".$goback);
fwrite($fp,$ipinfo);
fclose($fp);
}
//ip判斷結(jié)束
for($i=0;$i<100 && !file_exists($recfile);$i++);
if($i==99) die("系統(tǒng)出錯(cuò)00".$goback);
$fp=@fopen($recfile,"r") or die("對(duì)不起不合法".$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){//要下載的項(xiàng)目
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("出錯(cuò)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'>您的瀏覽器會(huì)在三秒鐘后自動(dòng)下載</div>";
echo "<br><br><br>";
echo "<div class='values'>或者點(diǎn)擊<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>
相關(guān)文章
用PHP動(dòng)態(tài)創(chuàng)建Flash動(dòng)畫(huà)
用PHP動(dòng)態(tài)創(chuàng)建Flash動(dòng)畫(huà)...2006-10-10
php ajax 靜態(tài)分頁(yè)過(guò)程形式
php ajax 靜態(tài)分頁(yè)過(guò)程形式,擴(kuò)展性不是很好 ,但比較適合新手學(xué)習(xí)。2011-09-09
PHP bin2hex()函數(shù)基礎(chǔ)實(shí)例講解
今天小編就為大家分享一篇關(guān)于PHP bin2hex()函數(shù)基礎(chǔ)實(shí)例講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02
PHP filter_var() 函數(shù) Filter 函數(shù)
PHP 過(guò)濾器用于對(duì)來(lái)自非安全來(lái)源的數(shù)據(jù)(比如用戶輸入)進(jìn)行驗(yàn)證和過(guò)濾2012-04-04
PHP 八種基本的數(shù)據(jù)類(lèi)型小結(jié)
PHP 支持8種基本的數(shù)據(jù)類(lèi)型,學(xué)習(xí)php的朋友可以參考下。2011-06-06
PHP分頁(yè)函數(shù)代碼(簡(jiǎn)單實(shí)用型)
PHP分頁(yè)函數(shù)代碼(簡(jiǎn)單實(shí)用型),學(xué)習(xí)php分頁(yè)的朋友可以參考下。2010-12-12

