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 21 PHP
php Sql Server连接失败问题及解决办法
Aug 07 PHP
PHP 可阅读随机字符串代码
May 26 PHP
PHP isset()与empty()的使用区别详解
Aug 29 PHP
php中配置文件操作 如config.php文件的读取修改等操作
Jul 07 PHP
php获取通过http协议post提交过来xml数据及解析xml
Dec 16 PHP
php计算两个日期时间差(返回年、月、日)
Jun 19 PHP
编写PHP程序检查字符串中的中文字符个数的实例分享
Mar 17 PHP
php微信公众平台开发(四)回复功能开发
Dec 06 PHP
PHP实现的最大正向匹配算法示例
Dec 19 PHP
设定php简写功能的方法
Nov 28 PHP
PHP如何使用JWT做Api接口身份认证的实现
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
安装APACHE
2007/01/15 PHP
PHP Curl出现403错误的解决办法
2014/05/29 PHP
关于Anemometer图形化显示MySQL慢日志的工具搭建及使用的详细介绍
2020/07/13 PHP
JavaScript 不只是脚本
2007/05/30 Javascript
jQuery 工具函数学习资料
2010/04/29 Javascript
原创javascript小游戏实现代码
2010/08/19 Javascript
js 金额格式化来回转换示例
2014/02/23 Javascript
页面元素绑定jquery toggle后元素隐藏的解决方法
2014/03/27 Javascript
javascript实现带节日和农历的日历特效
2015/02/01 Javascript
js自制图片放大镜功能
2017/01/24 Javascript
一道面试题引发的对javascript类型转换的思考
2017/03/06 Javascript
Angularjs中的验证input输入框只能输入数字和小数点的写法(推荐)
2017/08/16 Javascript
vue组件的写法汇总
2018/04/12 Javascript
详解小程序循环require之坑
2019/03/08 Javascript
Vue引入Stylus知识点总结
2020/01/16 Javascript
JS apply用法总结和使用场景实例分析
2020/03/14 Javascript
vue-cli脚手架的.babelrc文件用法说明
2020/09/11 Javascript
python实现udp数据报传输的方法
2014/09/26 Python
Python多线程实现同步的四种方式
2017/05/02 Python
Python机器学习logistic回归代码解析
2018/01/17 Python
Django ManyToManyField 跨越中间表查询的方法
2018/12/18 Python
CSS3 box-sizing属性详解
2016/11/15 HTML / CSS
HTML5新特性之语义化标签
2017/10/31 HTML / CSS
NFL欧洲商店(德国):NFL Europe Shop DE
2018/11/03 全球购物
REISS美国官网:伦敦最受欢迎的时尚品牌
2019/08/16 全球购物
暑期社会实践学生的自我评价
2014/01/09 职场文书
业务总经理岗位职责
2014/02/03 职场文书
2014两会学习心得:时代的发展
2014/03/17 职场文书
简单通用的简历自我评价
2014/09/21 职场文书
法院干警四风问题自我剖析材料
2014/09/29 职场文书
幼儿园感恩节活动方案2014
2014/10/11 职场文书
幼儿园老师新年寄语2015
2014/12/08 职场文书
小学教师岗位职责
2015/04/02 职场文书
使用Redis实现秒杀功能的简单方法
2021/05/08 Redis
python编程学习使用管道Pipe编写优化代码
2021/11/20 Python
Mysql调整优化之四种分区方式以及组合分区
2022/04/13 MySQL