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 创建标签云函数代码
May 26 PHP
javascript 小型动画组件与实现代码
Jun 02 PHP
php中的注释、变量、数组、常量、函数应用介绍
Nov 16 PHP
探讨:如何使用PHP实现计算两个日期间隔的年、月、周、日数
Jun 13 PHP
Drupal简体中文语言包安装教程
Sep 27 PHP
ThinkPHP无限级分类原理实现留言与回复功能实例
Oct 31 PHP
深入php内核之php in array
Nov 10 PHP
PHP编写daemon process详解及实例代码
Sep 30 PHP
Laravel框架实现redis集群的方法分析
Sep 14 PHP
YII框架页面缓存操作示例
Apr 29 PHP
PHP实现的AES 128位加密算法示例
Sep 16 PHP
基于laravel缓冲cache的用法详解
Oct 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
PHP 和 HTML
2006/10/09 PHP
在apache下限制每个虚拟主机的并发数!!!!
2006/10/09 PHP
关于B/S判断浏览器断开的问题讨论
2008/10/29 Javascript
js监听滚动条滚动事件使得某个标签内容始终位于同一位置
2014/01/24 Javascript
Google Maps API地图应用示例分享
2014/10/23 Javascript
jQuery Uploadify 上传插件出现Http Error 302 错误的解决办法
2015/12/12 Javascript
自己封装的一个简单的倒计时功能实例
2016/11/23 Javascript
微信JS-SDK自定义分享功能实例详解【分享给朋友/分享到朋友圈】
2016/11/25 Javascript
微信小程序 动态绑定事件并实现事件修改样式
2017/04/13 Javascript
npm国内镜像 安装失败的几种解决方案
2017/06/04 Javascript
Angular限制input框输入金额(是小数的话只保留两位小数点)
2017/07/13 Javascript
vue 打包后的文件部署到express服务器上的方法
2017/08/09 Javascript
vue-router3.0版本中 router.push 不能刷新页面的问题
2018/05/10 Javascript
vue template中slot-scope/scope的使用方法
2018/09/06 Javascript
express+vue+mongodb+session 实现注册登录功能
2018/12/06 Javascript
微信小程序webSocket的使用方法
2020/02/20 Javascript
[16:14]教你分分钟做大人:米拉娜(HEROS)
2014/11/24 DOTA
Python字符串处理之count()方法的使用
2015/05/18 Python
TensorFlow模型保存/载入的两种方法
2018/03/08 Python
Python 学习教程之networkx
2019/04/15 Python
python修改linux中文件(文件夹)的权限属性操作
2020/03/05 Python
Python爬虫防封ip的一些技巧
2020/08/06 Python
浅析Python requests 模块
2020/10/09 Python
CSS3文本换行word-wrap解决英文文本超过固定宽度不换行
2013/10/10 HTML / CSS
size?爱尔兰官方网站:英国伦敦的球鞋精品店
2019/03/31 全球购物
汽修专业学生自我鉴定
2013/11/16 职场文书
请假条标准格式规范
2014/04/10 职场文书
仓库管理计划书
2014/05/04 职场文书
户外宣传策划方案
2014/05/25 职场文书
无私奉献演讲稿
2014/09/04 职场文书
中学生逃课检讨书
2015/02/17 职场文书
电子商务专业求职信范文
2015/03/19 职场文书
七一晚会主持词
2015/06/29 职场文书
4种非常实用的python内置数据结构
2021/04/28 Python
Python编程中Python与GIL互斥锁关系作用分析
2021/09/15 Python
python实现学员管理系统(面向对象版)
2022/06/05 Python