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调用Oracle存储过程
Oct 09 PHP
PHP编程之高级技巧——利用Mysql函数
Oct 09 PHP
header跳转和include包含问题详解
Sep 08 PHP
php中error与exception的区别及应用
Jul 28 PHP
PHP防止刷新重复提交页面的示例代码
Nov 11 PHP
微信开发之网页授权获取用户信息(二)
Jan 08 PHP
Yii中的cookie的发送和读取
Jul 27 PHP
如何使用PHP给图片加水印
Oct 12 PHP
PHP读取XML格式文件的方法总结
Feb 27 PHP
ThinkPHP实现生成和校验验证码功能
Apr 28 PHP
PHP连接及操作PostgreSQL数据库的方法详解
Jan 30 PHP
laravel 解决Validator使用中出现的问题
Oct 25 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
php不允许用户提交空表单(php空值判断)
2013/11/12 PHP
php生成验证码,缩略图及水印图的类分享
2016/04/07 PHP
thinkPHP简单遍历数组方法分析
2016/05/16 PHP
详细解读php的命名空间(二)
2018/02/21 PHP
js实现DIV的一些简单控制
2007/06/04 Javascript
javascript 一些用法小结
2009/09/11 Javascript
JavaScript 学习笔记之操作符
2015/01/14 Javascript
JQuery使用$.ajax和checkbox实现下次不在通知功能
2015/04/16 Javascript
javascript中window.open在原来的窗口中打开新的窗口(不同名)
2015/11/15 Javascript
详解JavaScript中的事件流和事件处理程序
2016/05/20 Javascript
浅谈JavaScript对象的创建方式
2016/06/13 Javascript
使用vue.js制作分页组件
2016/06/27 Javascript
js实现浏览器倒计时跳转页面效果
2016/08/12 Javascript
Nodejs搭建wss服务器教程
2017/05/24 NodeJs
Angularjs单选框相关的示例代码
2017/08/17 Javascript
JS数据类型STRING使用实例解析
2019/12/18 Javascript
keep-alive不能缓存多层级路由菜单问题解决
2020/03/10 Javascript
vue 子组件修改data或调用操作
2020/08/07 Javascript
vantUI 获得piker选中值的自定义ID操作
2020/11/04 Javascript
python实现登陆知乎获得个人收藏并保存为word文件
2015/03/16 Python
python爬虫的工作原理
2017/03/05 Python
pandas 空的dataframe 插入列名的示例
2018/10/30 Python
在pycharm中显示python画的图方法
2019/08/31 Python
python Tensor和Array对比分析
2020/01/08 Python
Python3 字典dictionary入门基础附实例
2020/02/10 Python
python如何处理程序无法打开
2020/06/16 Python
使用Tensorflow-GPU禁用GPU设置(CPU与GPU速度对比)
2020/06/30 Python
在 Windows 下搭建高效的 django 开发环境的详细教程
2020/07/27 Python
萌新的HTML5 入门指南
2020/11/06 HTML / CSS
中国领先的专业演出票务网:永乐票务
2016/08/29 全球购物
甜品店创业计划书
2014/09/21 职场文书
致三级跳运动员加油稿
2015/07/21 职场文书
2016年学校安全教育月活动总结
2016/04/06 职场文书
学习计划是什么
2019/04/30 职场文书
python实现双向链表原理
2022/05/25 Python
Java中的Kafka为什么性能这么快及4大核心详析
2022/09/23 Java/Android