站长资源网络编程 php 文件上传系统手记 整理:jimmy2024/10/30浏览2次 站长资源 网络编程 网盘链接 云盘下载 简介整个系统只有带码全部用PHP,没有JS,没有正则...纯纯的PHP...其实别的我也不会呵呵... 下面是原表单的html带码... 上传文件表单 复制代码 代码如下: 整个系统只有带码全部用PHP,没有JS,没有正则...纯纯的PHP...其实别的我也不会呵呵... 下面是原表单的html带码... 上传文件表单 复制代码 代码如下: <form id="upload" action="uplpad.php" enctype="multipart/form-data" method="post"> <div id="upload"> Map Name: <br /> <input type="text" name="mapname" size="12" maxlength="20" /> <br /> File Path:<br /> <input type="file" name="map" size="12" contentEditable="false" /> <input type="hidden" name="MAX_FILE_SIZE" value="8000000"> <br /> <input type="submit" value="Upload" id="x" /> </div> </form> 表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,这个编码格式是 application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作.enctype="multipart/form-data"是上传二进制数据; form里面的值以2进制流的方式传过去。 <input type="hidden" name="MAX_FILE_SIZE" value="8000000">这句好像是没有用的...我原以为这个可以限制上传文件大小呢,上传文件大小只有在php.ini里或后面上传的文件的脚本里设置了...我程序里是直接设置php.ini中upload_max_filesize=6M的. 下面是上传程序 Code 复制代码 代码如下: $uploaddir="./map/"; $typearr=array("rar","zip","w3m","w3x"); $findstr=array("/","\\"," ","<",">"); //对名称进行过滤 $mapname=str_replace($findstr,'',($_POST['mapname'])); //取扩展名 function upfiletype($filename){ $arr=explode('.',$filename); $a=count($arr)-1; return $arr[$a]; } //字符串是不是纯数字 function isNo($str){ $intarr=array('1','2','3','4','5','6','7','8','9','0','.'); $a=str_replace($intarr,'',$str); return ($a=="")?1:0; } //////控制窗口大小/////// function html(){ echo <<<eof <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>文件上传</title> <head> <script> function ResetSize(){ self.resizeTo(300,300) self.moveTo(300,200) } </script> </head> <body onload="ResetSize()"> eof; } if (isNo($mapname)){ html(); exit ('有输入正确的地图名称'); } //判断是否有文件上传 if(!is_uploaded_file($_FILES['map']['tmp_name'])){ html(); exit("你没有上传文件或上传文件大于6M"); } //判断是不是重复上传 $clintfilename=str_replace($findstr,'',$_FILES['map']['name']); if(isset($_COOKIE['upload'])){ foreach($_COOKIE['upload'] as $value){ if($value==$clintfilename){ html(); exit("请不要重复上传"); } } } $filetype=strtolower(upfiletype($_FILES['map']['name'])); if(!in_array($filetype,$typearr)){ html(); exit("请上传正确的地图文件,支持rar,zip,w3m,w3x"); } //判断server文件是否存在 $filename=$mapname.'.'.$filetype; for($a=1;$fopen=@fopen(($uploaddir.$filename),"r");$a++){ $filename=$mapname."$a".'.'.$filetype; fclose($fopen); } //传输文件开始; $filepath=$uploaddir.$filename; if(move_uploaded_file($_FILES['map']['tmp_name'],$filepath)){ //设置一个cookie用来看有没有重复上传 setcookie("upload[]",$clintfilename,time()+60*12); html(); echo "上传成功"; $log=fopen("upload.log","a7"); $logtxt=date("Ymd")."|".date("H:i")."|".$_SERVER["REMOTE_ADDR"]."|".$filename."\r\n"; fwrite($log,$logtxt); } ?> 由于是第一次写...很多地方有问题,并且在写的时候是改了又改得....忘多多指教 上一篇:php 网页游戏开发入门教程一(webgame+design) 下一篇:php后台程序与Javascript的两种交互方式 最新资源 美女Coser龙女仆、2B、修女图赏 可爱日系美女推主COS图赏 机关百炼新手攻略!上手很容易,比排位好玩 10.12中路热度排行,西施小乔出场率大幅降低 万金油沈梦溪克制攻略,张飞最好用 降央卓玛《降央卓玛》[320K/MP3][108.63MB] 降央卓玛《降央卓玛》[FLAC/分轨][292.13MB] 任然《渐晚》[320K/MP3][27.92MB] 《原神》5.1月亮还没有出来成就获取攻略 秘源机 《原神》希诺宁详细培养一图流 希诺宁加点出装与