php实现的遍历文件夹下所有文件,编辑删除


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 相关文章推荐
Zend引擎的发展 [15]
Oct 09 PHP
动态网站web开发 PHP、ASP还是ASP.NET
Oct 09 PHP
一个PHP操作Access类(PHP+ODBC+Access)
Jan 02 PHP
MySql中正则表达式的使用方法描述
Jul 30 PHP
php获取$_POST同名参数数组的实现介绍
Jun 30 PHP
php中filter_input函数用法分析
Nov 15 PHP
php常用字符串比较函数实例汇总
Nov 24 PHP
php使用递归函数实现数字累加的方法
Mar 16 PHP
PHP实现简单实用的分页类代码
Apr 08 PHP
YII2框架中使用yii.js实现的post请求
Apr 09 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
Aug 30 PHP
PHP实现负载均衡下的session共用功能
Apr 17 PHP
处理php自动反斜杠的函数代码
Jan 05 #PHP
php实现首页链接查询 友情链接检查的代码
Jan 05 #PHP
用php实现的获取网页中的图片并保存到本地的代码
Jan 05 #PHP
用PHP查询搜索引擎排名位置的代码
Jan 05 #PHP
PHP 批量更新网页内容实现代码
Jan 05 #PHP
PHP 存储文本换行实现方法
Jan 05 #PHP
PHP 将图片按创建时间进行分类存储的实现代码
Jan 05 #PHP
You might like
一个捕获函数输出的函数
2007/02/14 PHP
mysql 性能的检查和优化方法
2009/06/21 PHP
PHP echo()函数讲解
2019/02/15 PHP
Thinkphp5.0 框架Model模型简单用法分析
2019/10/11 PHP
使用js检测浏览器的实现代码
2013/05/14 Javascript
Jquery自定义button按钮的几种方法
2014/06/11 Javascript
javascript+canvas制作九宫格小程序
2014/12/28 Javascript
JavaScript实现网页对象拖放功能的方法
2015/04/15 Javascript
JavaScript的Ext JS框架中的GridPanel组件使用指南
2016/05/21 Javascript
jQuery多文件异步上传带进度条实例代码
2016/08/16 Javascript
详解Bootstrap各式各样的按钮(推荐)
2016/12/13 Javascript
基于JSONP原理解析(推荐)
2017/12/04 Javascript
使用async-validator编写Form组件的方法
2018/01/10 Javascript
Bootstrap 按钮样式与使用代码详解
2018/12/09 Javascript
JavaScript模板引擎原理与用法详解
2018/12/24 Javascript
webpack.DefinePlugin与cross-env区别详解
2020/02/23 Javascript
SpringBoot+Vue开发之Login校验规则、实现登录和重置事件
2020/10/19 Javascript
详解Python中的各种函数的使用
2015/05/24 Python
windows上安装Anaconda和python的教程详解
2017/03/28 Python
利用numpy和pandas处理csv文件中的时间方法
2018/04/19 Python
Python 解决中文写入Excel时抛异常的问题
2018/05/03 Python
python opencv实现图片旋转矩形分割
2018/07/26 Python
python获取交互式ssh shell的方法
2019/02/14 Python
Python 字符串处理特殊空格\xc2\xa0\t\n Non-breaking space
2020/02/23 Python
经验丰富程序员才知道的8种高级Python技巧
2020/07/27 Python
仿CSDN Blog返回页面顶部功能实现原理及代码
2013/06/30 HTML / CSS
NARS化妆品官方商店:美国彩妆品牌
2017/08/26 全球购物
狗狗玩具、零食和咀嚼物的月度送货服务:Super Chewer
2018/08/22 全球购物
馥绿德雅美国官方网站:Rene Furterer头皮护理专家
2019/05/01 全球购物
澳大利亚美容产品及化妆品在线:Activeskin
2020/06/03 全球购物
小区门卫工作职责
2013/12/14 职场文书
企业优秀员工事迹材料
2014/05/28 职场文书
统计专业自荐书
2014/07/06 职场文书
2014年财务工作总结与计划
2014/12/08 职场文书
六一儿童节园长致辞
2015/07/31 职场文书
给校长的建议书作文500字
2015/09/14 职场文书