不用数据库的多用户文件自由上传投票系统(3)

2016-01-29 14:25 13 1 收藏

不用数据库的多用户文件自由上传投票系统(3),不用数据库的多用户文件自由上传投票系统(3)

【 tulaoshi.com - PHP 】

  这是本系统的第四个文件.upload.php主要负责,文件名的校验
,上传文件和文件地址的归档

<html
<head<title文件上传</title
<body<div style="width:750"<center
<?php
//上传的栏目$col,$upfile上传的文件,$writer作者,$intro简介


$writer=substr(htmlspecialchars($writer),0,20);
$intro=substr(htmlspecialchars($intro),0,100);

$maxsize=512000*2;//最大的文件长度
$pathtemp=explode("/",$HTTP_ENV_VARS["PATH_INFO"]);
$pathtemp[sizeof($pathtemp)-1]="";
$cgiroot="http://".$HTTP_HOST.implode("/",$pathtemp);//主机加当前目录



//$cgiroot="http://eccct.51.net/cgi-bin/";
$uploadto="../uploadfile/".$col."/";//上传到的子目录

$goback="<br<br<br<br<center系统将在3秒后返回....</center<scriptsetTimeout('location.href="view.php?col=".$col.""',3000)</script";




set_time_limit(300);//可持续五分钟











//if(!is_dir($uploadto)) mkdir($uploadto,0755);

if($upfile_size$maxsize)
die("<h1<font color=red对不起,您要上传的文件太大了,超过了1MB</font</h1".$goback);

$filename=$upfile_name;
$i=0;
while(file_exists($uploadto.$filename)){
$i++;

$filesp=explode('.',trim($upfile_name));
//echo $filesp[sizeof($filesp)-1];
//echo $filesp[sizeof($filesp)-1]!="zip";
//echo $filesp[sizeof($filesp)-1]!="rar";

if((trim($filesp[sizeof($filesp)-1])!="zip") && (trim($filesp[sizeof($filesp)-1])!="rar")){

die("<h1<font color=red上传文件的后缀名必须是zip或rar(小写)</font</h1".$goback);

}

$filename=$filesp[0].$i.".".$filesp[1];

}


if ($i0)
echo ("<font color=red对不起,您要上传的文件名已经存在了,<br系统自动将其更名为".$filename."</font");

//检查合理性结束

if(!copy($upfile,$uploadto.$filename)) die("<h1<font color=red系统出现错误03,请将文件重传<br</font</h1".$goback);

//写文件列表
$fileurl=$uploadto.$filename;//文件url
$flists=$uploadto.$col.".lst";//文件列表位置

for($i=0;$i<100 && !file_exists($flists);$i++);
if($i==99) {
unlink($uploadto.$filename);
die("系统出错00".$goback);
}


copy($flists,$flists.".bak");
if(!$fp=fopen($flists,"r")){
unlink($uploadto.$filename);
die("出错01".$goback);
}
$filerc=explode("",fread($fp,filesize($flists)));//上传的档案资料
fclose($fp);

unlink($flists);

$firstrec=explode("<",$filerc[0]);

if(!$firstrec[0]) $id=1;
else $id=$firstrec[0]+1;

$oldinfo=implode("",$filerc);

$newinfo=$id."<".$writer."<".$filename."<0<".$intro."<".$upfile_size."<0".$oldinfo;
//编号<作者<文件位置<投票计数<简介<文件大小<文件下载次数

if(!$fp=fopen($flists,"w")){
unlink($uploadto.$filename);
copy($flists.".bak",$flists);
die("出错02".$goback);
}

fwrite($fp,trim($newinfo));

fclose($fp);


//写文件列表结束


//文件传送

echo "<h1传送成功</h1";



echo "文件在<a href=".$fileurl."".$cgiroot.$fileurl."</a.$goback";
//文件传送成功




?
</center
</div
</body
</html

这是本文的最后一篇,主要介绍如何使用系统,让我们用个事例来说明:

例如我们要做flash作品上传投票,那我们只需要在../uploadfile/(相对系统php文件所在位

来源:https://www.tulaoshi.com/n/20160129/1493225.html

延伸阅读
标签: ASP
上述代码中函数名称为:GetSQLRecordset,文件名为ADOSQLFunctions.asp。 现在,利用该文件就可以调用任何Access数据库的连接,同时对表记录进行筛选的操作。以Friend.mdb文件为例,列出表data中所有的记录,程序代码如下: <HTML><BODY> <!--#include file="adovbs.inc"--> <!--#include file="ADOSQLFunctions.asp"--> <%...
标签: 电脑入门
Windows多用户登录方式虽然很能有它方便性的一面,但是它也有让用户头疼的一面。比如说,尽管你给自己的帐户设立密码,或是通过其它方式设置,禁止装软件、玩游戏,浏览黄色网站,但是他/她依然可以新建一个帐户,然后在其中装软件、玩游戏、浏览黄色网站。解决这个问题的方法有很多,本文和大家分享的就是其中之一。 点击开始菜单Logo,在搜...
拒绝Windows7多用户,让你的系统纯净些 Windows多用户登录方式虽然很能有它方便性的一面,但是它也有让用户头疼的一面。比如说,尽管你给自己的帐户设立密码,或是通过其它方式设置,禁止装软件、玩游戏,浏览黄色网站,但是他/她依然可以新建一个帐户,然后在其中装软件、玩游戏、浏览黄色网站。解决这个问题的方法有很多,本文和大家分享...
标签: SQLServer
关于系统数据库的恢复总结如下: 在SQL Server数据库中,系统信息存储在系统数据库中,主要的系统数据库包括: master-从整体上控制用户数据库和SQL Server操作,在创建了任何用户定义的对象后,都要备份它 model-为新数据库提供模版和原型 msdb-包含了有关作业、报警及操作员等信息如果包含系统数据库的介质变了,那么必须重...
1.数据库安装时的参数设定 下面数据库所用的版本为ORACLE 9I (9.2.0),安装数据库时,数据库系统会创建一个数据库实例,其中:安装目录选为:oracle,数据库名与数据库SID号都输入:ora9i ,其中的字符集必须选为:ZHS16GBK(否则以后进行跨平台操作时对中文的操作将比较困难)。 2.数据库用户的创建、权限的分配 数据库安装完成后,有...

经验教程

959

收藏

85
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部