不用数据库的多用户文件自由上传投票系统(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 相关文章推荐
关于PHP的相似度计算函数:levenshtein的使用介绍
Apr 15 PHP
去除php注释和去除空格函数分享
Mar 13 PHP
php中in_array函数用法探究
Nov 25 PHP
php+mysqli事务控制实现银行转账实例
Jan 29 PHP
php从文件夹随机读取文件的方法
Jun 01 PHP
PHP实现批量修改文件后缀名的方法
Jul 30 PHP
必须收藏的php实用代码片段
Feb 02 PHP
ECSHOP完美解决Deprecated: preg_replace()报错的问题
May 17 PHP
关于php支持的协议与封装协议总结(推荐)
Nov 17 PHP
ThinkPHP5.0 图片上传生成缩略图实例代码说明
Jun 20 PHP
php pdo连接数据库操作示例
Nov 18 PHP
安装PHP扩展时解压官方 tgz 文件后没有configure文件无法进行配置编译的问题
Aug 26 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中VC6、VC9、TS、NTS版本的区别与用法详解
2013/10/26 PHP
jQuery-onload让第一次页面加载时图片是淡入方式显示
2012/05/23 Javascript
JavaScript 反科里化 this [译]
2012/09/20 Javascript
通过一段代码简单说js中的this的使用
2013/07/23 Javascript
js+csss实现的一个带复选框的下拉框
2014/09/29 Javascript
初始Nodejs
2014/11/08 NodeJs
JS+DIV实现鼠标划过切换层效果的方法
2015/05/25 Javascript
省市区三级联动下拉框菜单javascript版
2015/08/11 Javascript
jQuery实现带延迟效果的滑动菜单代码
2015/09/02 Javascript
轻松实现javascript数据双向绑定
2015/11/11 Javascript
原生js实现数字字母混合验证码的简单实例
2015/12/10 Javascript
Nodejs全局安装和本地安装的不同之处
2016/07/04 NodeJs
谈谈JavaScript中的几种借用方法
2016/08/09 Javascript
jQuery基于ajax操作json数据简单示例
2017/01/05 Javascript
在vue-cli的组件模板里使用font-awesome的两种方法
2018/09/28 Javascript
koa源码中promise的解读
2018/11/13 Javascript
JavaScript实现轮播图特效
2020/04/10 Javascript
Vue Render函数原理及代码实例解析
2020/07/30 Javascript
详解vue 中 scoped 样式作用域的规则
2020/09/14 Javascript
[02:34]DOTA2英雄基础教程 幽鬼
2014/01/02 DOTA
[03:11]TI9战队档案 - Alliance
2019/08/20 DOTA
[40:03]RNG vs VG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python 从远程服务器下载东西的代码
2013/02/10 Python
解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享
2014/06/18 Python
python中的函数用法入门教程
2014/09/02 Python
Python+Turtle动态绘制一棵树实例分享
2018/01/16 Python
python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法
2019/06/26 Python
Pycharm 2019 破解激活方法图文详解
2019/10/11 Python
tensorflow 环境变量设置方式
2020/02/06 Python
记一次django内存异常排查及解决方法
2020/08/07 Python
Python list和str互转的实现示例
2020/11/16 Python
工程造价与管理专业应届生求职信
2013/11/23 职场文书
元旦活动感言
2014/03/08 职场文书
小学少先队辅导员述职报告
2015/01/10 职场文书
Python使用UDP实现720p视频传输的操作
2021/04/24 Python
《艾尔登法环》1.03.3补丁上线 碎星伤害调整
2022/04/07 其他游戏