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


Posted in PHP onOctober 09, 2006

这是我近来开发的一套上传投票一体化的系统,共由4个php和若干记录文件组成,这是第一个view.php,主要负责显示文件列表和上传的文件表单和文件名的检验.其中的地址均为真实地址,请使用时作相应修改,我将在最后1篇提供具体的使用方法。

<html>
<head>

<link rel="stylesheet" href="../css/eccct.css">
</head>

<body>
<center>
<script src=http://home.classover.com/~vampirehunter/js/menu.js></script>
<script>

function opennewwin(url){

window.open(url,null,"height=200,width=200,status=no,toolbar=no,menubar=no,location=no");

}

function check(theform){
var tempstr=theform.upfile.value.split("\");

var files=tempstr[tempstr.length-1].split(".");

if(theform.writer.value=="" || theform.upfile.value=="" ){alert("作者与文件名不能为空");event.returnValue= false; }

if(escape(tempstr[tempstr.length-1]).indexOf("%u")!=-1){
alert("文件名不能为中文");
event.returnValue= false;

}

if(files.length<2 || (files[1]!="rar" && files[1]!="zip")){
alert("文件名必须以小写zip或rar结尾");
event.returnValue= false;
}

}
</script>

</head>
<body>

<?php
//col为栏目,当存在$uploadto/$col.if(纪录title),$col.ip,$col.ipd,$col.lst时合法
//
//page为第几页1-n
//rowperpage为每页几行

if(!$page) $page=0;

$rowperpage=5;
if(!$col) die("系统出错");

$cgiroot="http://eccct.51.net/cgi-bin/";//此php所在位置
$uploadto="../uploadfile/".$col."/";

$fp=@fopen($uploadto.$col.".if","r") or die("系统出错");

$title=fread($fp,filesize($uploadto.$col.".if"));

fclose($fp);//$title为本上传的名称

$recfile=$uploadto.$col.".lst";
$fp=@fopen($recfile,"r") or die("系统出错");

$info=explode(">",fread($fp,filesize($recfile)));
fclose($fp);

$maxpage=ceil((sizeof($info)-1)/$rowperpage);
if(!$maxpage) $maxpage=1;

if($page>$maxpage||$page<1)$page=1;

echo "<table class=tb cellspacing=0 cellpadding=0 ><tr><td colspan=10><br><br><center><h2>".$title."<hr></h2></center></td></tr><tr>";
echo "<td width=25%>共".(sizeof($info)-1)."个作品</td>";

echo "<td width=25%>第".$page."/".$maxpage."页</td>";
echo "<td width=25%>";
if($page+1<=$maxpage)
echo "<a href='view.php?col=".$col."&page=".($page+1)."'>下一页</a>";

echo "</td>";
echo "<td width=25%>";
if($page-1>0)
echo "<a href='view.php?col=".$col."&page=".($page-1)."'>上一页</a>";
echo "</td>";
echo "</tr></table><br><br>";
$startrec=($page-1)*$rowperpage;
$endrec=$startrec+$rowperpage;

for($i=$startrec;$i<$endrec&&$info[$i]!="";$i++){

    $items=explode("<",$info[$i]);
         if(!trim($items[0])) continue;

    echo "<table class='tb' border=1 cellspacing=0 cellpadding=0>";
    echo "<tr><td width=16.5% class=items>编号</td>";

    echo "<td width=16.5%  class=values>".$items[0]."</td>";
    if(!trim($items[1]))$items[1]="打死我也不说";
    echo "<td width=16.5%  class=items>作者</td><td width=16.5% class=values>".$items[1]."</td>";
$temp=sprintf("%d",trim($items[5])/1024);
echo "<td width=16.5% class=items>文件名</td><td class=values>".trim($items[2])."(".$temp."KB)</td>";
    echo "</tr><tr>";

     
echo "<td  class=items>得票数</td><td class=values >".$items[3]."</td>";
echo "<td class=items>下载次数</td><td class=values width=13%>".$items[6]."</td>";

$click="opennewwin("download.php?num=".$items[0]."&col=".$col."");return false;";

$ev="<td class=values><input type='button' value=下载 onclick='".$click."'></td>";
echo $ev;

    echo "<td  class=values><a href='vote2.php?col=".$col."&option=".$items[0]."' >我要投票</a></td></tr>";

        if(!trim($items[4]))$items[4]="保密";
    echo "<tr><td class=items>简介</td><td class=values colspan=10>".$items[4]."</td></tr>";
    echo "</table><br><br>";

}

?>
<form method="post" action="upload.php" enctype="multipart/form-data" onsubmit="check(this);">

<table class=tb border=1>
<tr><td><center><h2>我要投稿</h2></center></td></tr>
<tr><td>
  作者:<input type="text" name="writer"></td></tr>
<tr><td>简介:<TEXTAREA name="intro" STYLE="width:600;overflow:hidden" >
</TEXTAREA>
</td></tr>
<tr><td> <input type=hidden name=col value="<? echo $col?>">
文件:<input type="file" name="upfile">(文件名请不要包含中文,文件小于1MB,以zip,rar结尾)</td></tr>
<tr><td align="center">  <input type="submit" name="Submit" value="提交">

</td></tr>
</table>
</form>
</center>
</body>
</html>

PHP 相关文章推荐
Windows下PHP5和Apache的安装与配置
Sep 05 PHP
关于PHP中的Class的几点个人看法
Oct 09 PHP
自动跳转中英文页面
Oct 09 PHP
简单PHP上传图片、删除图片实现代码
May 12 PHP
PHP自动选择 连接本地还是远程数据库
Dec 02 PHP
解析如何屏蔽php中的phpinfo()函数
Jun 06 PHP
Linux中用PHP判断程序运行状态的2个方法
May 04 PHP
zend framework框架中url大小写问题解决方法
Aug 19 PHP
php使用iconv中文截断问题的解决方法
Feb 11 PHP
laravel Model 执行事务的实现
Oct 10 PHP
php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法实例分析
Mar 02 PHP
PHP过滤器 filter_has_var() 函数用法实例分析
Apr 23 PHP
不用数据库的多用户文件自由上传投票系统(3)
Oct 09 #PHP
用PHP+MySql编写聊天室
Oct 09 #PHP
如何开发一个虚拟域名系统
Oct 09 #PHP
PHP中对数据库操作的封装
Oct 09 #PHP
用DBSQL类加快开发MySQL数据库程序的速度
Oct 09 #PHP
一个简洁的多级别论坛
Oct 09 #PHP
用ODBC的分页显示
Oct 09 #PHP
You might like
PHP新手上路(五)
2006/10/09 PHP
求PHP数组最大值,最小值的代码
2011/10/31 PHP
PHP 访问数据库配置通用方法(json)
2018/05/20 PHP
浅谈PHP5.6 与 PHP7.0 区别
2019/10/09 PHP
JavaScript的面向对象(一)
2006/11/09 Javascript
基础的prototype.js常用函数及其用法
2007/03/10 Javascript
js文件中调用js的实现方法小结
2009/10/23 Javascript
JavaScript CSS 修改学习第四章 透明度设置
2010/02/19 Javascript
javascript 隐藏/显示指定的区域附HTML元素【legend】用法
2010/03/05 Javascript
js遍历子节点子元素附属性及方法
2014/08/19 Javascript
ajax如何实现页面局部跳转与结果返回
2015/08/24 Javascript
ajax跨域调用webservice的实现代码
2016/05/09 Javascript
Bootstrap的Carousel配合dropload.js实现移动端滑动切换图片
2017/03/10 Javascript
老生常谈combobox和combotree模糊查询
2017/04/17 Javascript
jquery+css实现简单的图片轮播效果
2017/08/07 jQuery
使用Angular CLI快速创建Angular项目的一些基本概念和写法小结
2018/04/22 Javascript
JavaScript常用事件介绍
2019/01/21 Javascript
js实现点赞效果
2020/03/16 Javascript
基于vue--key值的特殊用处详解
2020/07/31 Javascript
[03:57]2016完美“圣”典风云人物:rOtk专访
2016/12/09 DOTA
探索Python3.4中新引入的asyncio模块
2015/04/08 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
2019/08/22 Python
自定义django admin model表单提交的例子
2019/08/23 Python
Django表单提交后实现获取相同name的不同value值
2020/05/14 Python
浅析NumPy 切片和索引
2020/09/02 Python
python urllib和urllib3知识点总结
2021/02/08 Python
华润集团网上药店:健一网
2016/09/19 全球购物
精伦电子Java笔试题
2013/01/16 面试题
C语言变量的命名规则都有哪些
2013/12/27 面试题
化工机械应届生求职信
2013/11/04 职场文书
一位农村小子的自荐信
2014/04/07 职场文书
一帮一活动总结
2014/05/08 职场文书
小学美术兴趣小组活动总结
2014/07/07 职场文书
2014年营业员工作总结
2014/11/18 职场文书
不知如何爱孩子,这些方法教会您
2019/08/06 职场文书
WINDOWS 64位 下安装配置mysql8.0.25最详细的教程
2022/03/22 MySQL