複製代碼 代碼如下:<?php
/*
遍曆檔案夾; 功能:(a)可刪除檔案 (b)可編輯文本,網頁檔案 (c)可刪除檔案夾,前提是該檔案夾為空白 (d)可建立檔案,檔案夾,修改檔案夾名稱;
lost63.com原創, 轉載請註明出處. 交流QQ:35501547
*/
$path=$DOCUMENT_ROOT;
$path=str_replace("/","\\",$path);
//指定檔案夾
$path=$path."\\";
if($_GET['folder'])
{
$path.=$_GET['folder']."\\";
}
//本頁面路徑,下面傳回時將用到;
$url=$_SERVER['PHP_SELF'];
//如果是檔案夾,將加上連結;
function folder($path,$str)
{
if(filetype($path.$str)=="dir")
{
return "<a href=\"?folder=".$_GET['folder']."\\".$str."\">$str</a>";
}else{
return $str;
}
}
switch($_GET['action'])
{
case "del";
if($_GET['type']=="file")
{
unlink($_GET['path']);
}else{
rmdir($_GET['path']);
}
echo "<script type=\"text/javascript\">alert('恭喜,刪除成功!');location.href=\"".$url."\";</script>";
break;
case "edit";
if($_GET['type']=="file")
{
$file=fopen($_GET['path'],"r");
while(!feof($file))
{
$result.=fgets($file,9999);
}
fclose($file);
echo '<form name="form1" method="post" action="?action=editsave&path='.$_GET['path'].'&type='.$_GET['type'].'">
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td height="25" bgcolor="#99CC00">>><strong> 編輯檔案</strong> > <a href="'.$url.'">返回</a></td>
</tr>
<tr>
<td height="25" align="left" bgcolor="#FFFFCC">->檔案名稱:'.$_GET['path'].'</td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF"><textarea name="textarea" cols="135" rows="20">'.$result.'</textarea></td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF"><input type="submit" name="Submit" value="提交">
<input type="reset" name="Submit2" value="重設"></td>
</tr>
</table>
</form>';
}else{
echo '<form name="form1" method="post" action="?action=dir_rename&path='.$_GET['path'].'&type='.$_GET['type'].'">
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td height="25" bgcolor="#99CC00">>><strong> 建立檔案</strong> > <a href="'.$url.'">返回</a></td>
</tr>
<tr>
<td height="25" align="left" bgcolor="#FFFFCC">->檔案夾更名:
<input name="filename" type="text" value="'.$_GET['path'].'" size="50"></td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF"><input type="submit" name="Submit" value="提交">
<input type="reset" name="Submit2" value="重設"></td>
</tr>
</table>
</form>';
}
break;
case "editsave";
$file=fopen($_GET['path'],"w");
fwrite($file,$_POST['textarea']);
fclose($file);
echo "<script type=\"text/javascript\">alert('恭喜,編輯成功!');location.href=\"".$url."\";</script>";
break;
case "addfile";
echo '<form name="form1" method="post" action="?action=filesave&path='.$_GET['path'].'">
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td height="25" bgcolor="#99CC00">>><strong> 建立檔案</strong> > <a href="'.$url.'">返回</a></td>
</tr>
<tr>
<td height="25" align="left" bgcolor="#FFFFCC">->檔案名稱:
<input name="filename" type="text" value="'.$_GET['path'].'" size="50"></td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF"><textarea name="textarea" cols="135" rows="20">輸入內容
</textarea></td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF"><input type="submit" name="Submit" value="提交">
<input type="reset" name="Submit2" value="重設"></td>
</tr>
</table>
</form>';
break;
case "filesave";
//包含點則建立檔案,否則建立檔案夾
if(strpos($_POST['filename'],"."))
{
$file=fopen($_POST['filename'],"w");
fwrite($file,$_POST['textarea']);
fclose($file);
}else{
//檔案夾若存在則退出,不存在則建立!
if(file_exists($_POST['filename']))
{
exit;
}else{
mkdir($_POST['filename']);
}
}
echo "<script type=\"text/javascript\">alert('恭喜,".$_POST['filename']."建立成功!');location.href=\"".$url."\";</script>";
break;
case "dir_rename";
rename($_GET['path'],$_POST['filename']);
echo "<script type=\"text/javascript\">alert('恭喜,".$_POST['filename']."改名成功!');location.href=\"".$url."\";</script>";
break;
default:
$s=explode("\n",trim(`dir/b/o:gn $path`));
echo '<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td height="25" colspan="4" bgcolor="#99CC00">>><strong> 檔案管理</strong> > <a href="?action=addfile&path='.$path.'">建立檔案</a> > <a href="'.$url.'">返回</a></td>
</tr>
<tr>
<td height="25" align="center" bgcolor="#FFFFCC">檔案/檔案夾</td>
<td align="center" bgcolor="#FFFFCC">檔案屬性</td>
<td align="center" bgcolor="#FFFFCC">檔案大小</td>
<td align="center" bgcolor="#FFFFCC">操作</td>
</tr>';
foreach($s as $value)
{
echo '
<tr>
<td height="25" bgcolor="#FFFFFF">'.folder($path,$value).'</td>
<td align="center" bgcolor="#FFFFFF">'.filetype($path.$value).'</td>
<td align="right" bgcolor="#FFFFFF">'.round(filesize($path.$value)/1024).'kb</td>
<td align="center" bgcolor="#FFFFFF"><a href="?action=edit&path='.$path.'\\'.$value.'&type='.filetype($path.$value).'">編輯</a> | <a href="?action=del&path='.$path.'\\'.$value.'&type='.filetype($path.$value).'" onClick="return confirm(\'確定刪除->'.$value.'\');">刪除</a></td>
</tr>';
}
echo "</table>";
break;
}
?>