不用数据库的多用户文件自由上传投票系统(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 相关文章推荐
杏林同学录(二)
Oct 09 PHP
PHP截取汉字乱码问题解决方法mb_substr函数的应用
Mar 30 PHP
php实现的简单压缩英文字符串的代码
Apr 24 PHP
PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法
May 28 PHP
PHP5 字符串处理函数大全
Mar 23 PHP
关于mysql字符集设置了character_set_client=binary 在gbk情况下会出现表描述是乱码的情况
Jan 06 PHP
Laravel 5 框架入门(四)完结篇
Apr 09 PHP
PHP数组实例详解
Jun 26 PHP
PHP串行化与反串行化实例分析
Dec 27 PHP
PHP基于ORM方式操作MySQL数据库实例
Jun 21 PHP
php实现构建排除当前元素的乘积数组方法
Oct 06 PHP
PHP 图片处理
Sep 16 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之第五天
2006/10/09 PHP
php的计数器程序
2006/10/09 PHP
php实现无限级分类
2014/12/24 PHP
php实现的双色球算法示例
2017/06/20 PHP
JS Select下拉框(支持输入模糊查询)
2017/02/04 Javascript
Vue.js仿Metronic高级表格(一)静态设计
2017/04/17 Javascript
详解React Native 采用Fetch方式发送跨域POST请求
2017/11/15 Javascript
详解Angular2学习笔记之Html属性绑定
2018/01/03 Javascript
使用mock.js随机数据和使用express输出json接口的实现方法
2018/01/07 Javascript
从零开始搭建webpack+react开发环境的详细步骤
2018/05/18 Javascript
bootstrap模态框弹出和隐藏,动态改变中间内容的实例
2018/08/10 Javascript
详解vue中router-link标签所必备了解的属性
2019/04/15 Javascript
BootStrap前端框架使用方法详解
2020/02/26 Javascript
原生js+css实现tab切换功能
2020/09/17 Javascript
nestjs中异常过滤器Exceptionfilter的具体使用
2021/02/07 Javascript
Python使用scrapy采集数据过程中放回下载过大页面的方法
2015/04/08 Python
Python读取properties配置文件操作示例
2018/03/29 Python
python已协程方式处理任务实现过程
2019/12/27 Python
Python字符串对齐、删除字符串不需要的内容以及格式化打印字符
2021/01/23 Python
python 装饰器重要在哪
2021/02/14 Python
CSS3使用border-radius属性制作圆角
2014/12/22 HTML / CSS
Darphin迪梵官网: 来自巴黎,植物和精油调制的护肤品牌
2016/10/11 全球购物
UGG美国官网:购买UGG雪地靴、拖鞋和鞋子
2017/12/31 全球购物
泰国健康和美容服务预订网站:GoWabi
2019/06/03 全球购物
销售人员个人求职信
2013/09/26 职场文书
大学生就业意向书范文
2014/04/01 职场文书
超市仓管员岗位职责范本
2014/09/18 职场文书
北京故宫导游词
2015/01/31 职场文书
2015年银行信贷员工作总结
2015/05/19 职场文书
幼儿园班级工作总结2015
2015/05/25 职场文书
2016暑期政治学习心得体会
2016/01/23 职场文书
《游戏王:大师决斗》将推出新卡牌包4月4日上线
2022/03/31 其他游戏
DE1103使用报告
2022/04/05 无线电
Python获取字典中某个key的value
2022/04/13 Python
mysql 体系结构和存储引擎介绍
2022/05/06 MySQL