不用数据库的多用户文件自由上传投票系统(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 相关文章推荐
Apache2 httpd.conf 中文版
Dec 06 PHP
PHP采集相关教程之一 CURL函数库
Feb 15 PHP
PHP通过session id 实现session共享和登录验证的代码
Jun 03 PHP
php+js实现图片的上传、裁剪、预览、提交示例
Aug 27 PHP
js和php邮箱地址验证的实现方法
Jan 09 PHP
php获取网卡的MAC地址支持WIN/LINUX系统
Apr 30 PHP
PHP多线程编程之管道通信实例分析
Mar 07 PHP
Yii基于数组和对象的Model查询技巧实例详解
Dec 28 PHP
PHP入门教程之正则表达式基本用法实例详解(正则匹配,搜索,分割等)
Sep 11 PHP
PHP实现的AES双向加密解密功能示例【128位】
Sep 03 PHP
php如何利用pecl安装mongodb扩展详解
Jan 09 PHP
thinkphp框架表单数组实现图片批量上传功能示例
Apr 04 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 正确解码javascript中通过escape编码后的字符
2010/01/28 PHP
基于PHP字符串的比较函数strcmp()与strcasecmp()的使用详解
2013/05/15 PHP
简单实用的PHP防注入类实例
2014/12/05 PHP
PHP实现通过URL提取根域名
2016/03/31 PHP
php封装的验证码类分享
2017/02/26 PHP
基于jquery+thickbox仿校内登录注册框
2010/06/07 Javascript
ExtJs GridPanel简单的增删改实现代码
2010/08/26 Javascript
Javascript中克隆一个数组的实现代码
2013/12/06 Javascript
js动态添加onclick事件可传参数与不传参数
2014/07/29 Javascript
jquery表格datatables实例解析 直接加载和延迟加载
2016/08/12 Javascript
Angular.js实现注册系统的实例详解
2016/12/18 Javascript
Angularjs 依赖压缩及自定义过滤器写法
2017/02/04 Javascript
Vue-Router实现页面正在加载特效方法示例
2017/02/12 Javascript
JavaScript通过filereader接口读取文件
2017/05/10 Javascript
jquery手机触屏滑动拼音字母城市选择器的实例代码
2017/12/11 jQuery
微信小程序使用scroll-view标签实现自动滑动到底部功能的实例代码
2018/11/09 Javascript
tsconfig.json配置详解
2019/05/17 Javascript
vue transition 在子组件中失效的解决
2019/11/12 Javascript
python统计文本字符串里单词出现频率的方法
2015/05/26 Python
Python实现字符串格式化输出的方法详解
2017/09/20 Python
Python3日期与时间戳转换的几种方法详解
2019/06/04 Python
python os.path.isfile()因参数问题判断错误的解决
2019/11/29 Python
python异常处理和日志处理方式
2019/12/24 Python
python装饰器的特性原理详解
2019/12/25 Python
python3下pygame如何实现显示中文
2020/01/11 Python
利用python制作拼图小游戏的全过程
2020/12/04 Python
新秀丽拉杆箱美国官方网站:Samsonite美国
2016/07/25 全球购物
Java语言的优势
2015/01/10 面试题
女方回门宴答谢词
2014/01/14 职场文书
新学期开学寄语
2014/01/18 职场文书
节水倡议书范文
2014/04/15 职场文书
小学雷锋月活动总结
2014/07/03 职场文书
工作经历证明书范文
2014/11/02 职场文书
实习单位鉴定意见
2015/06/04 职场文书
一文了解MySQL二级索引的查询过程
2022/02/24 MySQL
以下牛机,你有几个
2022/04/05 无线电