不用数据库的多用户文件自由上传投票系统(2)

2016-01-29 14:25 13 1 收藏

不用数据库的多用户文件自由上传投票系统(2),不用数据库的多用户文件自由上传投票系统(2)

【 tulaoshi.com - 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<scriptsetTimeout('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);         
  

来源:https://www.tulaoshi.com/n/20160129/1493236.html

延伸阅读
标签: 电脑入门
Windows多用户登录方式虽然很能有它方便性的一面,但是它也有让用户头疼的一面。比如说,尽管你给自己的帐户设立密码,或是通过其它方式设置,禁止装软件、玩游戏,浏览黄色网站,但是他/她依然可以新建一个帐户,然后在其中装软件、玩游戏、浏览黄色网站。解决这个问题的方法有很多,本文和大家分享的就是其中之一。 点击开始菜单Logo,在搜...
拒绝Windows7多用户,让你的系统纯净些 Windows多用户登录方式虽然很能有它方便性的一面,但是它也有让用户头疼的一面。比如说,尽管你给自己的帐户设立密码,或是通过其它方式设置,禁止装软件、玩游戏,浏览黄色网站,但是他/她依然可以新建一个帐户,然后在其中装软件、玩游戏、浏览黄色网站。解决这个问题的方法有很多,本文和大家分享...
标签: SQLServer
关于系统数据库的恢复总结如下: 在SQL Server数据库中,系统信息存储在系统数据库中,主要的系统数据库包括: master-从整体上控制用户数据库和SQL Server操作,在创建了任何用户定义的对象后,都要备份它 model-为新数据库提供模版和原型 msdb-包含了有关作业、报警及操作员等信息如果包含系统数据库的介质变了,那么必须重...
1.数据库安装时的参数设定 下面数据库所用的版本为ORACLE 9I (9.2.0),安装数据库时,数据库系统会创建一个数据库实例,其中:安装目录选为:oracle,数据库名与数据库SID号都输入:ora9i ,其中的字符集必须选为:ZHS16GBK(否则以后进行跨平台操作时对中文的操作将比较困难)。 2.数据库用户的创建、权限的分配 数据库安装完成后,有...
标签: windows 操作系统
远程桌面也需要多用户工作 情景再现: 5号楼348宿舍住着一些“有钱人”,每位同学人手一台电脑,还另外富裕一台电脑,开启了远程桌面,供大家使用。 Windows XP远程桌面具有许多方便的地方,同学们可以在外地或是自己家里遥控这台电脑,远程管理、排解故障都轻松愉快。不过麻烦也来了:每个同学都有权对系统进行修改(...

经验教程

782

收藏

14
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部