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 相关文章推荐
搜索引擎技术核心揭密
Oct 09 PHP
PHP源码之explode使用说明
Aug 05 PHP
详解PHP导入导出CSV文件
Nov 03 PHP
PHP集成百度Ueditor 1.4.3
Nov 23 PHP
详细解读PHP的Yii框架中登陆功能的实现
Aug 21 PHP
浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别
Dec 15 PHP
php生成二维码图片方法汇总
Dec 17 PHP
微信公众号开发之通过接口删除菜单
Feb 20 PHP
thinkPHP5 tablib标签库自定义方法详解
May 10 PHP
php判断str字符串是否是xml格式数据的方法示例
Jul 26 PHP
php输出文字乱码的解决方法
Oct 04 PHP
Laravel实现ApiToken认证请求
Oct 14 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一些有意思的小区别
2006/12/06 PHP
PHP 上传文件的方法(类)
2009/07/30 PHP
PHP生成sitemap.xml地图函数
2013/11/13 PHP
php实现mysql数据库连接操作及用户管理
2015/11/08 PHP
PHP生成和获取XML格式数据的方法
2016/03/04 PHP
让回调函数 showResponse 也带上参数的代码
2007/08/13 Javascript
javascript模仿msgbox提示效果代码
2008/06/10 Javascript
JS Range HTML文档/文字内容选中、库及应用介绍
2011/05/12 Javascript
js有关元素内容操作小结
2011/12/20 Javascript
如何使用jQUery获取选中radio对应的值(一句代码)
2013/06/03 Javascript
Ext中下拉列表ComboBox组件store数据格式用法介绍
2013/07/15 Javascript
移动节点的jquery代码
2014/01/13 Javascript
jquery实现点击弹出层效果的简单实例
2014/03/03 Javascript
iframe的onreadystatechange事件在firefox下的使用
2014/04/16 Javascript
AngularJS入门知识之MVW类框架的编程思想探讨
2014/12/08 Javascript
jquery实现TAB选项卡鼠标经过带延迟效果的方法
2015/07/27 Javascript
jquery在ie7下选择器的问题导致append失效的解决方法
2016/01/10 Javascript
jQuery代码性能优化的10种方法
2016/06/21 Javascript
EditPlus 正则表达式 实战(3)
2016/12/15 Javascript
jQuery实现优雅的弹窗效果(6)
2017/02/08 Javascript
vue实现2048小游戏功能思路详解
2018/05/09 Javascript
angularjs通过过滤器返回超链接的方法
2018/10/26 Javascript
Vue项目接入Paypal实现示例详解
2020/06/04 Javascript
vue 实现一个简单的全局调用弹窗案例
2020/09/10 Javascript
[38:51]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-CDEC
2014/05/22 DOTA
一个月入门Python爬虫学习,轻松爬取大规模数据
2018/01/03 Python
selenium+python自动化测试之多窗口切换
2019/01/23 Python
python绘制直方图和密度图的实例
2019/07/08 Python
自我鉴定 电子商务专业
2014/01/30 职场文书
信用社员工先进事迹材料
2014/02/04 职场文书
项目合作意向书模板
2014/07/29 职场文书
家长学校培训材料
2014/08/20 职场文书
2014年基层党支部工作总结
2014/12/04 职场文书
工作会议通知
2015/04/15 职场文书
Python获取字典中某个key的value
2022/04/13 Python
Apache POI操作批量导入MySQL数据库
2022/06/21 Servers