sleets
(sleets)
新手上路

初级会员
UID 65158
精华
0
积分 39
帖子 37
金钱 39 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2005-7-18
状态 离线
|
纯粹误会 来看看
http://17wn.512j.com/ftp.php
今天晚上写的 空间不好,速度慢 ~~
新建的时候 内容最后加上/ 就是目录 否则建的是文件
<? /************************************************************** Develop by 畅龙 Email:changlon@gmail.com QQ:258057695 **************************************************************/ $FTP[0]=array('test.cdcphp.com','test','test');
$ftpH=ftp_connect($FTP[0][0]) or die("connect"); ftp_login($ftpH,$FTP[0][1],$FTP[0][2]) or die("login"); $_GET[h]='http://'.$FTP[0][0]; $_GET[p]=($_GET[p] && $_GET[p]!='/')?$_GET[p]:''; $_GET[dir] =dirname($_GET[p]); $_GET[dir] = ( $_GET[dir] != '/' && $_GET[dir] !='' )?"<a href='?p=$_GET[dir]'>上层目录</a>":''; $_GET[dir] ="<a href=?>根目录</a> $_GET[dir]"; function_exists($fun=$_GET[a].'_cl') && die($fun()); function _cl(){ global $ftpH; $月=array('Jan'=>1,'Feb'=>2,'Mar'=>3,'Apr'=>4,'May'=>5,'Jun'=>6,'Jul'=>7,'Aug'=>8,'Sep'=>9,'Oct'=>10,'Nov'=>11,'Dec'=>12); ($R=array('D'=>array(),'F'=>array())) && is_array($DirList=@ftp_rawlist ($ftpH,$_GET[p])) || $DirList=array(); foreach($DirList as $v){ preg_match("/([-a-z]).+ (d+)s+(w{3}s+d+s+d{2}:d{2})s(.+)/",$v,$t); $K=($t[1]=='d')?'D':'F';unset($t[0]); $d=explode(' ',$t[3]); $R[$K][$t[4]]=array('<i>'.$月[$d[0]]."月$d[1]日 $d[2]</i>",FileSize_cl($t[2]),("$_GET[p]/$t[4]")); } top_cl();ksort($R[D]);ksort($R[F]); echo "<form action='?a=new&p=".urlencode($_GET[p])."' method=post>$_GET[dir] <b style=font-size:12;>$_GET[p]</b> 新建:<input name=f> <input type=submit value='OK'><hr><b>目录</b><br>"; foreach($R[D] as $k=>$v) echo "<a href='?p=$v[2]'>$k</a> <font>[<a href='?a=del&isd=1&p=$v[2]'>Del</a>] $v[1] $v[0]</font><br>"; echo "<hr><b>文件</b><br>"; foreach($R[F] as $k=>$v) { echo "<a target=_blank href='{$_GET[h]}$v[2]'>$k</a> <font>"; if(eregi(".(php|php4|php3|tpl|txt|dat|htm|html|sql|ini|cgi|asp|jsp|css|jsvbs)$",$k)) echo "[<a href='?a=view&p=".urlencode($v[2])."'>View</a>] [<a href='?a=edit&p=".urlencode($v[2])."'>Edit</a>] "; echo "[<a href='?a=del&p=$v[2]'>Del</a>] [<a href='$_GET[h]/index.php?down=.".urlencode($v[2])."'>Down</a>] $v[1] $v[0]</font><br>"; } }//end function _cl ftp_put(int ftp_stream, string remote_file, string local_file, int mode);
function ReadDir_cl( $d, $a=array(array(),array()) ){ for($h=dir($d);$f=$h->read();) ($f!='.' && $f!='..') && (is_dir("$d/$f")?($a[0][]=$f):($a[1][]=$f)); return $a; }//end function ReadDir_cl
function FileSize_cl($i){ if($i<1024) return "<u>${i}</u>B"; if($i<1048576) return '<u>'.(ceil($i/10.24)/100).'</u>KB'; return '</u>'.(ceil($i/10485.76)/100).'</u>MB'; }//end function FileSize_cl
function top_cl(){ echo "<style>font{font-size:12;}u{text-decoration:none;color:red;}i{color:998877}hr{width:100%}input {font-family:Verdana;font-size:12}</style>"; }
function view_cl() { global $ftpH; echo "$_GET[dir] <a target=_blank href='{$_GET[h]}$_GET[p]'>$_GET[p]</a> <hr width=100%>"; $tmpName = tempnam ("/tmp", "FOO"); $tmp = fopen($tmpName, "w"); ftp_fget($ftpH,$tmp,$_GET[p],FTP_BINARY); fclose($tmp); highlight_string(file_get_contents($tmpName)); unlink($tmpName); echo "<hr width=100%> $_GET[dir] <a target=_blank href='{$_GET[h]}$_GET[p]'>$_GET[p]</a> "; }
function edit_cl() { global $ftpH; $tmpName = tempnam ("/tmp", "FOO"); $tmp = fopen($tmpName, "w"); ftp_fget($ftpH,$tmp,$_GET[p],FTP_BINARY); fclose($tmp); $filedata=htmlspecialchars( file_get_contents($tmpName) ); unlink($tmpName); echo "<body style=margin:0; scroll=no><table style=width:100%;height:100%;font-size:12><form action='?a=editok&p=".urlencode($_GET[p])."' method=post><tr><td><textarea name=b style=width:100%;height:100%;font-family:Verdana;font-size:12;>$filedata</textarea><tr><td height=20> $_GET[dir] <b>[</b><a target=_blank href='{$_GET[h]}$_GET[p]'>$_GET[p]</a><b>]</b> <input type=submit style=font-size:12 value='提交'></table>"; }
function editok_cl(){ global $ftpH; $tmpName = tempnam ("/tmp", "FOO"); $tmp = fopen($tmpName, "wb+"); fwrite($tmp,$filedata=StripSlashes($_POST[b])); fseek($tmp,0); ftp_delete($ftpH,$_GET[p]) or print("del <b>$_GET[p]</b> false<br>"); ftp_fput($ftpH,$_GET[p],$tmp,FTP_BINARY ); fclose($tmp); unlink($tmpName); echo "$_GET[dir] <a target=_blank href='{$_GET[h]}$_GET[p]'>$_GET[p]</a> <hr width=100%> "; highlight_string($filedata); }
function new_cl(){ global $ftpH; if(ereg("/$",$_POST[f])) ftp_mkdir($ftpH,"$_GET[p]/$_POST[f]") or print("mkdir <b>$_GET[p]/$_POST[f]</b> false"); else{ $tmp = tmpfile(); ftp_fput($ftpH,"$_GET[p]/$_POST[f]",$tmp,FTP_BINARY ) or print("fput <b>$_GET[p]/$_POST[f]</b> false"); fclose($tmp); } _cl(); } function del_cl(){ global $ftpH; if($_GET[isd]==1){ deldir($_GET[p]); }else ftp_delete($ftpH,$_GET[p]) or die("delete <b>$_GET[p]</b> false"); $_GET[p]=dirname($_GET[p]); _cl(); }
function deldir($p){ global $ftpH; $DirList=@ftp_rawlist ($ftpH,$p); if($DirList) foreach($DirList as $v){ preg_match("/([-a-z]).+d{1,2}:d{1,2} (.+)/",$v,$t); if($t[1]=='d') deldir("$p/$t[2]"); else ftp_delete($ftpH,"$p/$t[2]") or print("delete <b>$p</b> false"); } ftp_rmdir($ftpH,"$p/") or print("rmdir <b>$p</b> false"); }
|
|