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 相关文章推荐
用PHP调用数据库的存贮过程
Oct 09 PHP
php读取html并截取字符串的简单代码
Nov 30 PHP
通俗易懂的php防注入代码
Apr 07 PHP
php中的一些数组排序方法分享
Jul 20 PHP
PHP+Javascript实现在线拍照功能实例
Jul 18 PHP
PHP单链表的实现代码
Jul 05 PHP
PHP中spl_autoload_register()函数用法实例详解
Jul 18 PHP
CI框架无限级分类+递归的实现代码
Nov 01 PHP
Zend Framework入门教程之Zend_Registry组件用法详解
Dec 09 PHP
IIS 7.5 asp Session超时时间设置方法
Apr 17 PHP
php实现的PDO异常处理操作分析
Dec 27 PHP
PHP getDocNamespaces()函数讲解
Feb 03 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
DIY一个适配电脑声卡的动圈话筒放大器
2021/03/02 无线电
php使用cookie保存登录用户名的方法
2015/01/26 PHP
php使用Jpgraph绘制3D饼状图的方法
2015/06/10 PHP
thinkPHP下的widget扩展用法实例分析
2015/12/26 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
2018/09/04 PHP
jquery获取input表单值的代码
2010/04/19 Javascript
找出字符串中出现次数最多的字母和出现次数精简版
2012/11/07 Javascript
js 限制数字 js限制输入实现代码
2012/12/04 Javascript
jquery选择器的选择使用及性能介绍
2013/01/16 Javascript
关于JavaScript中name的意义冲突示例介绍
2014/05/29 Javascript
JavaScript中对象property的删除方法介绍
2014/12/30 Javascript
AngularJS中的过滤器使用详解
2015/06/16 Javascript
bootstrap table 表格中增加下拉菜单末行出现滚动条的快速解决方法
2017/01/05 Javascript
微信小程序 安全包括(框架、功能模块、账户使用)详解
2017/01/16 Javascript
jq.ajax+php+mysql实现关键字模糊查询(示例讲解)
2018/01/02 Javascript
vue中Axios的封装与API接口的管理详解
2018/08/09 Javascript
JavaScript设计模式之代理模式实例分析
2019/01/16 Javascript
详解JavaScript中的强制类型转换
2019/04/15 Javascript
8 个有用的JS技巧(推荐)
2019/07/03 Javascript
在Vue mounted方法中使用data变量详解
2019/11/05 Javascript
VUE异步更新DOM - 用$nextTick解决DOM视图的问题
2020/11/06 Javascript
python的几种开发工具介绍
2007/03/07 Python
python实现获取序列中最小的几个元素
2014/09/25 Python
Python格式化日期时间操作示例
2018/06/28 Python
详解用pyecharts Geo实现动态数据热力图城市找不到问题解决
2019/06/26 Python
解决Numpy中sum函数求和结果维度的问题
2019/12/06 Python
Python通过Schema实现数据验证方式
2020/11/12 Python
大学三年的自我评价
2013/12/25 职场文书
医院护士的求职信
2014/01/03 职场文书
一年级学生评语大全
2014/04/21 职场文书
2014年女职工工作总结
2014/11/27 职场文书
论文评审意见
2015/06/05 职场文书
八年级作文之感悟亲情
2019/11/20 职场文书
2019年圣诞节祝福语集锦
2019/12/25 职场文书
解决hive中导入text文件遇到的坑
2021/04/07 Python
基于Redis zSet实现滑动窗口对短信进行防刷限流的问题
2022/02/12 Redis