php visitFile()遍历指定文件夹函数


Posted in PHP onAugust 21, 2010

注:visitFile()有少量修改

<? 
// 查看指定文件夹的文件 
$fileList = array(); 
function visitFile($path) 
{ 
global $fileList; 
$path = str_replace("\\", "/", $path); 
$fdir = dir($path); 
while (($file = $fdir->read()) !== false) 
{ 
if($file == '.' || $file == '..'){ continue; } 
$pathSub = preg_replace("*/{2,}*", "/", $path."/".$file); // 替换多个反斜杠 
$fileList[] = is_dir($pathSub) ? $pathSub."/" : $pathSub; 
if(is_dir($pathSub)){ visitFile($pathSub); } 
} 
$fdir->close(); 
return $fileList; 
} 
?> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<form method="get"> 
<? 
$path = str_replace("\\", "/", $path); 
$path = preg_replace("*/{2,}*", "/", $path); 
?> 
路径:<input type="text" name="path" id="path" value="<?=$path;?>"/><br> 
<li>磁盘根目录 /</li> 
<li>网络本地 ./phpMyAdmin</li> 
<li>本地磁盘 file://C: 或者 C:</li> 
<br> 
<input name="action" type="submit" id="action" value="view" /> 
<input name="action" type="submit" id="action" value="delete" onclick="if(!confirm('是否删除 '+path.value+' 的所有子文件夹和子文件?')) return false;" /> 
</form> 
<? 
if(!empty($path)){ 
$path = preg_replace("*/{2,}*", "/", $path); 
$files = visitFile($path); 
switch(strtolower($_GET["action"])) 
{ 
case "view": 
foreach($files as $key => $value) 
{ 
printf("No.%4d·%s<br>\r\n", $key+1, $value); 
} 
break; 
case "delete": 
$faileFiles = array(); 
foreach(array_reverse($files) as $value) 
{ 
if(!unlink($value)) 
{ 
array_push($faileFiles, $value); 
} 
} 
if(!unlink($path)) { array_push($faileFiles, $path); } 
if(count($faileFiles) > 0) 
{ 
printf("<br><br>删除失败文件(%d):<p>\r\n", count($faileFiles)); 
foreach( $faileFiles as $key => $value) 
{ 
printf("No.%4d·%s<br>\r\n", $key+1, $value); 
} 
} 
break; 
} 
} 
?>
PHP 相关文章推荐
实现了一个PHP5的getter/setter基类的代码
Feb 25 PHP
php flush类输出缓冲剖析
Oct 19 PHP
windows下开发并编译PHP扩展的方法
Mar 18 PHP
php skymvc 一款轻量、简单的php
Jun 28 PHP
php从右向左/从左向右截取字符串的实现方法
Nov 28 PHP
深入Apache与Nginx的优缺点比较详解
Jun 17 PHP
Win下如何安装PHP的APC拓展
Aug 07 PHP
mcrypt启用 加密以及解密过程详细解析
Aug 07 PHP
php中通过数组进行高效随机抽取指定条记录的算法
Sep 09 PHP
PHP获取访问页面HTTP状态码的实现代码
Nov 03 PHP
PHP单例模式简单用法示例
Jun 23 PHP
ThinkPHP框架表单验证操作方法
Jul 19 PHP
php excel类 phpExcel使用方法介绍
Aug 21 #PHP
php下正则来匹配dede模板标签的代码
Aug 21 #PHP
php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
Aug 21 #PHP
使用VisualStudio开发php的图文设置方法
Aug 21 #PHP
利用Memcached在php下实现session机制 替换PHP的原生session支持
Aug 21 #PHP
ThinkPHP中实例Model方法的区别说明
Aug 21 #PHP
PHP 数组基础知识小结
Aug 20 #PHP
You might like
php cookies中删除的一般赋值方法
2011/05/07 PHP
php FLEA中二叉树数组的遍历输出
2012/09/26 PHP
PHP数组中头部和尾部添加元素的方法(array_unshift,array_push)
2017/04/10 PHP
解决php 处理 form 表单提交多个 name 属性值相同的 input 标签问题
2017/05/11 PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
2018/01/15 PHP
js 小数取整的函数
2010/05/10 Javascript
js仿百度有啊通栏展示效果实现代码
2013/05/28 Javascript
基于jQuery实现的文字按钮表单特效整理
2014/12/07 Javascript
JS建造者模式基本用法实例分析
2015/06/30 Javascript
基于jquery实现放大镜效果
2015/08/17 Javascript
jQuery实现气球弹出框式的侧边导航菜单效果
2015/09/22 Javascript
javascript实现数字倒计时特效
2016/03/30 Javascript
JavaScript实现使用Canvas绘制图形的基本教程
2016/10/27 Javascript
在vue里面设置全局变量或数据的方法
2018/03/09 Javascript
vue 注册组件的使用详解
2018/05/05 Javascript
JavaScript对象拷贝与赋值操作实例分析
2018/12/10 Javascript
使用vue-cli4.0快速搭建一个项目的方法步骤
2019/12/04 Javascript
[01:06]DOTA2亚洲邀请赛专属珍藏-荧煌之礼
2017/03/24 DOTA
[10:14]2018DOTA2国际邀请赛寻真——paiN Gaming不仅为自己而战
2018/08/14 DOTA
Python数据分析之获取双色球历史信息的方法示例
2018/02/03 Python
用TensorFlow实现戴明回归算法的示例
2018/05/02 Python
Python命名空间的本质和加载顺序
2018/12/17 Python
实时获取Python的print输出流方法
2019/01/07 Python
python爬虫爬取监控教务系统的思路详解
2020/01/08 Python
使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解
2020/01/25 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
2020/04/08 Python
分享CSS3制作卡片式图片的方法
2016/07/08 HTML / CSS
涂鸦板简单实现 Html5编写属于自己的画画板
2016/07/05 HTML / CSS
香港家用健身器材、运动器材及健康美容仪器专门店:FitBoxx
2019/12/05 全球购物
银行职业规划书范文
2013/12/28 职场文书
领导干部考察材料
2014/02/08 职场文书
运动会入场式解说词
2014/02/18 职场文书
环保建议书400字
2014/05/14 职场文书
党员干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
准备去美国留学,那么大学申请文书应该怎么写?
2019/08/12 职场文书
教你用Python matplotlib库制作简单的动画
2021/06/11 Python