不用数据库的多用户文件自由上传投票系统(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代码
Mar 08 PHP
php笔记之:有规律大文件的读取与写入的分析
Apr 26 PHP
PHP中date与gmdate的区别及默认时区设置
May 12 PHP
Yii学习总结之数据访问对象 (DAO)
Feb 22 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
Jun 28 PHP
PHP读取大文件的几种方法介绍
Oct 27 PHP
php正则提取html图片(img)src地址与任意属性的方法
Feb 08 PHP
老生常谈php 正则中的i,m,s,x,e分别表示什么
Mar 02 PHP
PHP实现打包zip并下载功能
Jun 12 PHP
多个Laravel项目如何共用migrations详解
Sep 25 PHP
PHP面向对象程序设计(OOP)之方法重写(override)操作示例
Dec 21 PHP
tp5 实现列表数据根据状态排序
Oct 18 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
PHP5.0正式发布 不完全兼容PHP4 新增多项功能
2006/10/09 PHP
2014年10个最佳的PHP图像操作库
2014/07/14 PHP
PHP面向对象详解(三)
2015/12/07 PHP
php基于PDO连接MSSQL示例DEMO
2016/07/13 PHP
PHP获取二叉树镜像的方法
2018/01/17 PHP
实例讲解PHP表单验证功能
2019/02/15 PHP
Laravel 读取 config 下的数据方法
2019/10/13 PHP
js 判断脚本加载完毕的代码
2011/07/13 Javascript
通过上下左右键和回车键切换光标实现代码
2013/03/08 Javascript
简体中文转换繁体中文(实现代码)
2013/12/25 Javascript
js实现获取焦点后光标在字符串后
2014/09/17 Javascript
Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例
2015/01/01 NodeJs
jQuery中end()方法用法实例
2015/01/08 Javascript
jquery实现横向图片轮播特效代码分享
2015/11/19 Javascript
AngularJS入门教程之REST和定制服务详解
2016/08/19 Javascript
Angularjs过滤器实现动态搜索与排序功能示例
2017/12/13 Javascript
Webpack4 使用Babel处理ES6语法的方法示例
2019/03/07 Javascript
微信小程序开发实现的IP地址查询功能示例
2019/03/28 Javascript
jQuery实现高级检索功能
2019/05/28 jQuery
Element 默认勾选表格 toggleRowSelection的实现
2019/09/04 Javascript
简单了解JavaScript sort方法
2019/11/25 Javascript
Vue的双向数据绑定实现原理解析
2020/02/17 Javascript
jQuery+css实现的点击图片放大缩小预览功能示例【图片预览 查看大图】
2020/05/29 jQuery
JS获取当前时间戳方法解析
2020/08/29 Javascript
Python的Flask框架中使用Flask-SQLAlchemy管理数据库的教程
2016/06/14 Python
python爬虫面试宝典(常见问题)
2018/03/02 Python
python MySQLdb使用教程详解
2018/03/20 Python
使用pip发布Python程序的方法步骤
2018/10/11 Python
15行Python代码实现网易云热门歌单实例教程
2019/03/10 Python
Python执行时间的几种计算方法
2020/07/31 Python
酒店总经理岗位职责范本
2014/08/08 职场文书
党委班子纠正“四风”问题整改措施
2014/10/28 职场文书
唐山大地震的观后感
2015/06/05 职场文书
MySQL安装后默认自带数据库的作用详解
2021/04/27 MySQL
高考要来啦!用Python爬取历年高考数据并分析
2021/06/03 Python
Pytorch中的学习率衰减及其用法详解
2021/06/05 Python