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 相关文章推荐
PHP获取类中常量,属性,及方法列表的方法
Apr 09 PHP
php simplexmlElement操作xml的命名空间实现代码
Jan 04 PHP
一个PHP二维数组排序的函数分享
Jan 17 PHP
php数组中包含中文的排序方法
Jun 03 PHP
php的XML文件解释类应用实例
Sep 22 PHP
PHP判断是否为空的几个函数对比
Apr 21 PHP
PHPStrom中实用的功能和快捷键大全
Sep 23 PHP
PHP读取PPT文件的方法
Dec 10 PHP
Zend Framework入门之环境配置及第一个Hello World示例(附demo源码下载)
Mar 21 PHP
PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能
May 31 PHP
Laravel 使用查询构造器配合原生sql语句查询的例子
Oct 12 PHP
TP5多入口设置实例讲解
Dec 15 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
单位速度在实战中的运用
2020/03/04 星际争霸
php实例分享之mysql数据备份
2014/05/19 PHP
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
2014/07/01 PHP
PHP中执行cmd命令的方法
2014/10/11 PHP
CodeIgniter中使用Smarty3基本配置
2015/06/29 PHP
Laravel框架使用Redis的方法详解
2018/05/30 PHP
jQuery autocomplete插件修改
2009/04/17 Javascript
ExtJS Store的数据访问与更新问题
2010/04/28 Javascript
DOM 中的事件处理介绍
2012/01/18 Javascript
javascript中的作用域和上下文使用简要概述
2013/12/05 Javascript
angularJS 入门基础
2015/02/09 Javascript
Nodejs学习笔记之测试驱动
2015/04/16 NodeJs
js仿百度切换皮肤功能(html+css)
2016/07/10 Javascript
js实现鼠标跟随运动效果
2020/08/02 Javascript
详解vue.js数据传递以及数据分发slot
2018/01/20 Javascript
vue select组件的使用与禁用实现代码
2018/04/10 Javascript
Vue 项目分环境打包的方法示例
2018/08/03 Javascript
详解关于React-Router4.0跳转不置顶解决方案
2019/05/10 Javascript
详解Vue2.5+迁移至Typescript指南
2019/08/01 Javascript
vue-cli3 取消eslint校验代码的解决办法
2020/01/16 Javascript
Python文件夹与文件的操作实现代码
2014/07/13 Python
Python下的常用下载安装工具pip的安装方法
2015/11/13 Python
分享Python文本生成二维码实例
2016/01/06 Python
对Python信号处理模块signal详解
2019/01/09 Python
Python Matplotlib实现三维数据的散点图绘制
2019/03/19 Python
Python数据分析库pandas高级接口dt的使用详解
2020/12/11 Python
css3+jq创作含苞待放的荷花
2014/02/20 HTML / CSS
有针对性的求职自荐信
2013/11/14 职场文书
室内拓展活动方案
2014/02/13 职场文书
授权委托书怎么写
2014/04/03 职场文书
小学数学教学经验交流材料
2014/05/22 职场文书
三月法制宣传月活动总结
2014/07/03 职场文书
师德师风的心得体会
2014/09/02 职场文书
办理房产证委托书
2014/09/18 职场文书
法定代表人授权委托书范文
2014/09/22 职场文书
小学四年级班务总结该怎么写?
2019/08/16 职场文书