<span class="unnamed3">这是本系统的第四个文件.upload.php主要负责,文件名的校验 <br>,上传文件和文件地址的归档 <br><br><html> <br><head><title>文件上传</title> <br><body><div style="width:750"><center> <br><?php <br/>//上传的栏目$col,$upfile上传的文件,$writer作者,$intro简介 <br/><br/><br/>$writer=substr(htmlspecialchars($writer),0,20); <br/>$intro=substr(htmlspecialchars($intro),0,100); <br/><br/>$maxsize=512000*2;//最大的文件长度 <br/>$pathtemp=explode("/",$HTTP_ENV_VARS["PATH_INFO"]); <br/>$pathtemp[sizeof($pathtemp)-1]=""; <br/>$cgiroot="http://".$HTTP_HOST.implode("/",$pathtemp);//主机加当前目录 <br/><br/><br/><br/>//$cgiroot="http://eccct.51.net/cgi-bin/"; <br/>$uploadto="../uploadfile/".$col."/";//上传到的子目录 <br/><br/>$goback="<br><br><br><br><center>系统将在3秒后返回....</center><script>setTimeout('location.href="view.php?col=".$col.""',3000)</script>"; <br><br><br><br><br>set_time_limit(300);//可持续五分钟 <br><br><br><br><br><br><br><br><br><br><br><br>//if(!is_dir($uploadto)) mkdir($uploadto,0755); <br><br>if($upfile_size>$maxsize) <br>die("<h1><font color=red>对不起,您要上传的文件太大了,超过了1MB</font></h1>".$goback); <br><br>$filename=$upfile_name; <br>$i=0; <br>while(file_exists($uploadto.$filename)){ <br>$i++; <br><br>$filesp=explode('.',trim($upfile_name)); <br>//echo $filesp[sizeof($filesp)-1]; <br>//echo $filesp[sizeof($filesp)-1]!="zip"; <br>//echo $filesp[sizeof($filesp)-1]!="rar"; <br><br>if((trim($filesp[sizeof($filesp)-1])!="zip") && (trim($filesp[sizeof($filesp)-1])!="rar")){ <br><br>die("<h1><font color=red>上传文件的后缀名必须是zip或rar(小写)</font></h1>".$goback); <br><br>} <br><br>$filename=$filesp[0].$i.".".$filesp[1]; <br><br>} <br><br><br>if ($i>0) <br>echo ("<font color=red>对不起,您要上传的文件名已经存在了,<br>系统自动将其更名为".$filename."</font>"); <br><br>//检查合理性结束 <br><br>if(!copy($upfile,$uploadto.$filename)) die("<h1><font color=red>系统出现错误03,请将文件重传<br></font></h1>".$goback); <br><br>//写文件列表 <br>$fileurl=$uploadto.$filename;//文件url <br>$flists=$uploadto.$col.".lst";//文件列表位置 <br><br>for($i=0;$i<100 && !file_exists($flists);$i++); <br/>if($i==99) { <br/>unlink($uploadto.$filename); <br/>die("系统出错00".$goback); <br/>} <br/><br/><br/>copy($flists,$flists.".bak"); <br/>if(!$fp=fopen($flists,"r")){ <br/>unlink($uploadto.$filename); <br/>die("出错01".$goback); <br/>} <br/>$filerc=explode(">",fread($fp,filesize($flists)));//上传的档案资料 <br>fclose($fp); <br><br>unlink($flists); <br><br>$firstrec=explode("<",$filerc[0]); <br/><br/>if(!$firstrec[0]) $id=1; <br/>else $id=$firstrec[0]+1; <br/><br/>$oldinfo=implode(">",$filerc); <br><br>$newinfo=$id."<".$writer."<".$filename."<0<".$intro."<".$upfile_size."<0>".$oldinfo; <br>//编号<作者<文件位置<投票计数<简介<文件大小<文件下载次数 <br><br>if(!$fp=fopen($flists,"w")){ <br>unlink($uploadto.$filename); <br>copy($flists.".bak",$flists); <br>die("出错02".$goback); <br>} <br><br>fwrite($fp,trim($newinfo)); <br><br>fclose($fp); <br><br><br>//写文件列表结束 <br><br><br>//文件传送 <br><br>echo "<h1>传送成功</h1>"; <br><br><br><br>echo "文件在<a href=".$fileurl.">".$cgiroot.$fileurl."</a>.$goback"; <br>//文件传送成功 <br><br><br><br><br>?> <br></center> <br></div> <br></body> <br></html> <br><br>これは、主にシステムの使用方法を紹介する記事です。 🎜><br>たとえば、投票用に Flash 作品をアップロードしたい場合は、../uploadfile/ (システム PHP ファイルの場所を基準とした) サブディレクトリの下に flash サブディレクトリを作成し、次の内容を作成するだけです。その中のファイル: flash.if (表示されるレコード表示タイトル)、flash.ip (投票 IP レコード)、flash.ipd (ダウンロード IP レコード)、flash.lst (ダウンロード ファイル情報レコード)。 =flash を使用してシステムを使用します。PHP をアップロードするために新しい列/ユーザーを追加するには、../uploadfile/ の下にサブディレクトリ PHP と対応するファイルを作成し、view.php?col=php <br> を使用します。 </span> <p style="width:100%;text-align:center;margin:10px 0"> <br> <br> </p> <p style="width:100%;text-align:center;margin:10px 0"></p> <p class="clear"></p>