Posted in PHP onJanuary 05, 2010
<?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; } ?>
php实现的遍历文件夹下所有文件,编辑删除
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@