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实现MVC开发得最简单的方法――模型
Apr 10 PHP
PHP自定义大小验证码的方法详解
Jun 07 PHP
PHP中常用的转义函数
Feb 28 PHP
php rsa加密解密使用详解
Jan 14 PHP
php读取文件内容的方法汇总
Jan 24 PHP
php实现字符串翻转的方法
Mar 27 PHP
php获取访问者IP地址汇总
Apr 24 PHP
Yii中srbac权限扩展模块工作原理与用法分析
Jul 14 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
Jul 26 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解
Apr 09 PHP
PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能
Sep 23 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
Feb 23 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
如何限制访问者的ip(PHPBB的代码)
2006/10/09 PHP
php 删除目录下N分钟前创建的所有文件的实现代码
2013/08/10 PHP
PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
2014/04/21 PHP
apache中为php 设置虚拟目录
2014/12/17 PHP
php实现将数组转换为XML的方法
2015/03/09 PHP
Javascript/Jquery——简单定时器的多种实现方法
2013/07/03 Javascript
String.prototype实现的一些javascript函数介绍
2013/11/22 Javascript
javascript动态添加、修改、删除对象的属性与方法详解
2014/01/27 Javascript
详谈JavaScript内存泄漏
2014/11/14 Javascript
兼容Firefox的Javascript XSLT 处理XML文件
2014/12/31 Javascript
jQuery 全选 全不选 事件绑定的实现代码
2017/01/23 Javascript
js获取浏览器的各种属性
2017/04/27 Javascript
基于iScroll实现下拉刷新和上滑加载效果
2017/07/18 Javascript
jQuery中复合选择器简单用法示例
2018/03/31 jQuery
node使用promise替代回调函数
2018/05/07 Javascript
浅谈在node.js进入文件目录的问题
2018/05/13 Javascript
使用JavaScript生成罗马字符的实例代码
2018/06/08 Javascript
记录一篇关于redux-saga的基本使用过程
2018/08/18 Javascript
js微信分享接口调用详解
2019/07/23 Javascript
前端vue-cli项目中使用img图片和background背景图的几种方法
2019/11/13 Javascript
JavaScript中遍历的十种方法总结
2020/12/15 Javascript
Python守护进程和脚本单例运行详解
2017/01/06 Python
详解python使用递归、尾递归、循环三种方式实现斐波那契数列
2018/01/16 Python
Linux CentOS7下安装python3 的方法
2018/01/21 Python
Python DataFrame一列拆成多列以及一行拆成多行
2019/08/06 Python
Python图像识别+KNN求解数独的实现
2020/11/13 Python
瑞士灯具购物网站:Lampenwelt.ch
2018/07/08 全球购物
迪奥官网:Dior.com
2018/12/04 全球购物
成功经营餐厅的创业计划书范文
2013/12/26 职场文书
会计主管岗位职责
2014/01/03 职场文书
拓展训练激励口号
2014/06/17 职场文书
交通安全责任书范本
2014/07/24 职场文书
乡党政领导班子群众路线教育实践活动个人对照检查材料
2014/09/20 职场文书
信息技术教研组工作总结
2015/08/13 职场文书
python3实现Dijkstra算法最短路径的实现
2021/05/12 Python
python scipy 稀疏矩阵的使用说明
2021/05/26 Python