不用数据库的多用户文件自由上传投票系统(2)-php教程
转载自:互联网 作者:cd3c.com
您正在看的php教程是:不用数据库的多用户文件自由上传投票系统(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="
$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==""||$ip[0]==""||$ip=="") continue; eval ('$temp='.$abstime.'-'.$ip.';'); 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++; $filepath=$uploadto.$items; $info[$i]=implode("<",$items); break; } &n [1] [2] 下一篇
