不用数据库的多用户文件自由上传投票系统(2)_php教程-查字典教程网
不用数据库的多用户文件自由上传投票系统(2)
不用数据库的多用户文件自由上传投票系统(2)
发布时间:2016-12-29 来源:查字典编辑
摘要:这是本系统的download.php,主要负责下载和记数,其中文件格式均在注释中说明.

这是本系统的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>您的浏览器会在三秒钟后自动下载</div>";

echo "<br><br><br>";

echo "<div>或者点击<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>

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新php教程学习
    热门php教程学习
    编程开发子分类