不用数据库的多用户文件自由上传投票系统(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 zlib压缩和解压缩swf文件的代码
Dec 30 PHP
php 将excel导入mysql
Nov 09 PHP
php方法调用模式与函数调用模式简例
Sep 20 PHP
php中定时计划任务的实现原理
Jan 08 PHP
基于PHP选项与信息函数的使用详解
May 10 PHP
php使用正则表达式获取图片url的方法
Jan 16 PHP
php修改上传图片尺寸的方法
Apr 14 PHP
PHP数组内存利用率低和弱类型详细解读
Aug 10 PHP
PHP如何实现阿里云短信sdk灵活应用在项目中的方法
Jun 14 PHP
阿里对象存储OSS在laravel框架中的使用方法
Oct 13 PHP
解决在laravel中auth建立时候遇到的问题
Oct 15 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 水平的题目
2007/05/30 PHP
Dedecms常用函数解析
2008/02/01 PHP
需要发散思维学习PHP
2009/06/29 PHP
php继承中方法重载(覆盖)的应用场合
2015/02/09 PHP
php上传excel表格并获取数据
2017/04/27 PHP
PHP生成指定范围内的N个不重复的随机数
2019/03/18 PHP
网页里控制图片大小的相关代码
2006/06/25 Javascript
JavaScript 用cloneNode方法克隆节点的代码
2012/10/15 Javascript
通过正则格式化url查询字符串实现代码
2012/12/28 Javascript
.net,js捕捉文本框回车键事件的小例子(兼容多浏览器)
2013/03/11 Javascript
DOM基础教程之使用DOM控制表格
2015/01/20 Javascript
JS实现超炫网页烟花动画效果的方法
2015/03/02 Javascript
jQuery中Ajax全局事件引用方式及各个事件(全局/局部)执行顺序
2016/06/02 Javascript
javaScript基础详解
2017/01/19 Javascript
浅谈javascript的闭包
2017/01/23 Javascript
JS身份证信息验证正则表达式
2017/06/12 Javascript
浅谈关于axios和session的一些事
2017/07/13 Javascript
layer弹出层父子页面事件相互调用方法
2018/08/17 Javascript
VScode格式化ESlint方法(最全最好用方法)
2019/09/10 Javascript
[04:16]DOTA2英雄梦之声_第09期_斧王
2014/06/21 DOTA
bpython 功能强大的Python shell
2016/02/16 Python
Python实现视频下载功能
2017/03/14 Python
PyQt5图形界面播放音乐的实例
2019/06/17 Python
pyinstaller还原python代码过程图解
2020/01/08 Python
Python 简单计算要求形状面积的实例
2020/01/18 Python
使用matplotlib的pyplot模块绘图的实现示例
2020/07/12 Python
基于Python模拟浏览器发送http请求
2020/11/06 Python
css3 给背景设置渐变色的方法
2019/09/12 HTML / CSS
Html5画布_动力节点Java学院整理
2017/07/13 HTML / CSS
HTML5 Canvas的性能提高技巧经验分享
2013/07/02 HTML / CSS
中学生在校期间的自我评价分享
2013/11/13 职场文书
高校自主招生自荐信
2013/12/09 职场文书
诉讼代理人授权委托书
2014/04/08 职场文书
大学生毕业求职信
2014/06/12 职场文书
个人四风问题整改措施思想汇报
2014/10/04 职场文书
《英雄联盟》2022日蚀、月蚀皮肤演示 黑潮亚索曝光
2022/04/13 其他游戏