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 Mysql日期和时间函数集合
Nov 16 PHP
PHP 日常开发小技巧
Sep 23 PHP
Fedora下安装php Redis扩展笔记
Sep 03 PHP
ThinkPHP有变量的where条件分页实例
Nov 03 PHP
PHP扩展模块memcached长连接使用方法分析
Dec 24 PHP
PHP Yaf框架的简单安装使用教程(推荐)
Jun 08 PHP
PHP+JS实现的商品秒杀倒计时用法示例
Nov 15 PHP
PHP下 Mongodb 连接远程数据库的实例代码
Aug 30 PHP
Thinkphp开发--集成极光推送
Sep 15 PHP
PHP序列化的四种实现方法与横向对比
Nov 29 PHP
php curl简单采集图片生成base64编码(并附curl函数参数说明)
Feb 15 PHP
PHP实现简单的计算器
Aug 28 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 选项及相关信息函数库
2006/12/04 PHP
php 实现301重定向跳转实例代码
2016/07/18 PHP
PHP对象实例化单例方法
2017/01/19 PHP
thinkPHP5.0框架独立配置与动态配置方法
2017/03/17 PHP
PHP让网站移动访问更加友好方法
2019/02/14 PHP
PHP封装的mysqli数据库操作类示例
2019/02/16 PHP
js wmp操作代码小结(音乐连播功能)
2008/11/08 Javascript
在IE浏览器中resize事件执行多次的解决方法
2011/07/12 Javascript
JsDom 编程小结
2011/08/09 Javascript
用jquery方法操作radio使其默认选项是否
2013/09/10 Javascript
jQuery Validate插件自定义验证规则的方法
2016/12/27 Javascript
jquery实现超简单的瀑布流布局【推荐】
2017/03/08 Javascript
ES6学习笔记之Set和Map数据结构详解
2017/04/07 Javascript
JS简单获取当前日期和农历日期的方法
2017/04/17 Javascript
jQuery 表单序列化实例代码
2017/06/11 jQuery
JavaScript标准对象_动力节点Java学院整理
2017/06/27 Javascript
详解HTTPS 的原理和 NodeJS 的实现
2017/07/04 NodeJs
vue.js项目打包上线的图文教程
2017/11/16 Javascript
angular6.0开发教程之如何安装angular6.0框架
2018/06/29 Javascript
Vue中使用Echarts仪表盘展示实时数据的实现
2020/11/01 Javascript
python os.listdir按文件存取时间顺序列出目录的实例
2018/10/21 Python
python实现二维数组的对角线遍历
2019/03/02 Python
python使用socket 先读取长度,在读取报文内容示例
2019/09/26 Python
python模拟斗地主发牌
2020/04/22 Python
pycharm sciview的图片另存为操作
2020/06/01 Python
python名片管理系统开发
2020/06/18 Python
虚拟机下载python是否需要联网
2020/07/27 Python
python3 googletrans超时报错问题及翻译工具优化方案 附源码
2020/12/23 Python
Python .py生成.pyd文件并打包.exe 的注意事项说明
2021/03/04 Python
外企办公室竞聘演讲稿
2013/12/29 职场文书
端午节粽子促销活动方案
2014/02/02 职场文书
感恩寄语大全
2014/04/11 职场文书
大学理论知识学习自我鉴定
2014/04/28 职场文书
2014小学一年级班主任工作总结
2014/12/05 职场文书
个人销售励志奋斗口号
2019/12/05 职场文书
python实现语音常用度量方法的代码详解
2021/05/25 Python