不用資料庫的多使用者檔案自由上傳投票系統(2)

來源:互聯網
上載者:User
關鍵字 不用資料庫的多使用者檔案自由上傳投票系統(2)
這是本系統的download.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="



系統將在3秒後返回....";
$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      
    $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  
  $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  if(trim($info[$i])!="") fputs($fp,trim($info[$i].">"));
}
  fclose($fp);


echo "";
echo "";
echo "";
echo "";
echo "


";
echo "您的瀏覽器會在三秒鐘後自動下載";
echo "


";
echo "或者點擊此處下載";
echo "


";
echo "";

//echo $HTTP_ENV_VARS["PATH_INFO"];
//echo "";

echo "";

//header("Content-type: application/.rar");

//header("Content-Disposition: attachment; filename=".$filepath);
//Header("Location: ".$filepath);
//header("Content-Description: PHP3 Generated Data



?>

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.