不用数据库的多用户文件自由上传投票系统(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获取服务器时间的实现代码
Jun 07 PHP
解析php中heredoc的使用方法
Jun 17 PHP
phpmailer发送gmail邮件实例详解
Jun 24 PHP
PHP中读取照片exif信息的方法
Aug 20 PHP
去掉destoon资讯内容页keywords关键字自带的文章标题的方法
Aug 21 PHP
php批量删除数据库下指定前缀的表以prefix_为例
Aug 24 PHP
PHP中基本HTTP认证技巧分析
Mar 16 PHP
详解WordPress中简码格式标签编写的基本方法
Dec 22 PHP
php图片添加水印例子
Jul 20 PHP
php使用parse_str实现查询字符串解析到变量中的方法
Feb 17 PHP
Laravel Eloquent ORM 多条件查询的例子
Oct 10 PHP
laravel 自定义常量的两种方案
Oct 14 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检测数据类型的几种方法(总结)
2017/03/04 PHP
php 实现简单的登录功能示例【基于thinkPHP框架】
2019/12/02 PHP
解析Jquery的LigerUI如何实现文件上传
2013/07/09 Javascript
jquery插件推荐浏览器嗅探userAgent
2014/11/09 Javascript
JavaScript面向对象的实现方法小结
2015/04/14 Javascript
Jquery解析json字符串及json数组的方法
2015/05/29 Javascript
React Native实现简单的登录功能(推荐)
2016/09/19 Javascript
Javascript数组循环遍历之forEach详解
2016/11/07 Javascript
require、backbone等重构手机图片查看器
2016/11/17 Javascript
AngularJS2 与 D3.js集成实现自定义可视化的方法
2017/12/01 Javascript
react组件从搭建脚手架到在npm发布的步骤实现
2019/01/09 Javascript
JS中的函数与对象的创建方式
2019/05/12 Javascript
基于vue-cli搭建多模块且各模块独立打包的项目
2019/06/12 Javascript
layer.prompt使文本框为空的情况下也能点击确定的方法
2019/09/24 Javascript
IDEA安装vue插件图文详解
2019/09/26 Javascript
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
[07:37]DOTA2-DPC中国联赛2月2日Recap集锦
2021/03/11 DOTA
Python中生成器和yield语句的用法详解
2015/04/17 Python
浅谈Python中chr、unichr、ord字符函数之间的对比
2016/06/16 Python
python+django快速实现文件上传
2016/10/24 Python
详解Python进程间通信之命名管道
2017/08/28 Python
python实现抖音点赞功能
2019/04/07 Python
Python如何使用k-means方法将列表中相似的句子归类
2019/08/08 Python
Python实现元素等待代码实例
2019/11/11 Python
HTML5如何为形状图上颜色怎么绘制具有颜色和透明度的矩形
2014/06/23 HTML / CSS
日本最大的旅游网站:Rakuten Travel(乐天旅游)
2018/08/02 全球购物
英国高级健康和美容产品零售商:Life and Looks
2019/08/01 全球购物
MyBag中文网:英国著名的时尚包袋电商零售网站
2020/07/31 全球购物
幼儿园教师节活动方案
2014/02/02 职场文书
大学同学会活动方案
2014/08/20 职场文书
卖车协议书范本4篇
2014/10/01 职场文书
英语复习计划
2015/01/19 职场文书
化验室岗位职责
2015/02/14 职场文书
html5 录制mp3音频支持采样率和比特率设置
2021/07/15 Javascript
CentOS8.4安装Redis6.2.6的详细过程
2021/11/20 Redis
Python socket如何解析HTTP请求内容
2022/02/12 Python