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 相关文章推荐
PHP5 面向对象程序设计
Feb 13 PHP
php生成缩略图的类代码
Oct 02 PHP
解析在PHP中使用mysqli扩展库对mysql的操作
Jul 03 PHP
laravel容器延迟加载以及auth扩展详解
Mar 02 PHP
文件上传之SWFUpload插件(代码)
Jul 30 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
Jan 05 PHP
PHP的swoole扩展安装方法详细教程
May 18 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
Oct 17 PHP
Laravel中encrypt和decrypt的实现方法
Sep 24 PHP
php微信分享到朋友圈、QQ、朋友、微博
Feb 18 PHP
实例介绍PHP删除数组中的重复元素
Mar 03 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
Mar 18 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语言中global和$GLOBALS[]的分析 之二
2012/02/02 PHP
php批量删除数据库下指定前缀的表以prefix_为例
2014/08/24 PHP
PHP使用缓存即时输出内容(output buffering)的方法
2015/08/03 PHP
Zend Framework生成验证码并实现验证码验证功能(附demo源码下载)
2016/03/22 PHP
Thinkphp5 自定义上传文件名的实现方法
2019/07/23 PHP
PHP 范围解析操作符(::)用法分析【访问静态成员和类常量】
2020/04/14 PHP
JavaScript学习笔记记录我的旅程
2012/05/23 Javascript
JQUERY对单选框(radio)操作的小例子
2013/04/25 Javascript
javascript实现unicode与ASCII相互转换的方法
2015/12/10 Javascript
WebApi+Bootstrap+KnockoutJs打造单页面程序
2016/05/16 Javascript
JavaScript鼠标事件,点击鼠标右键,弹出div的简单实例
2016/08/03 Javascript
深入理解javascript中concat方法
2016/12/12 Javascript
vue2.0嵌套路由实现豆瓣电影分页功能(附demo)
2017/03/13 Javascript
清空元素html(&quot;&quot;) innerHTML=&quot;&quot; 与 empty()的区别和应用(推荐)
2017/08/14 Javascript
详解vue移动端日期选择组件
2018/02/22 Javascript
快速解决angularJS中用post方法时后台拿不到值的问题
2018/08/14 Javascript
深度了解vue.js中hooks的相关知识
2019/06/14 Javascript
打印出python 当前全局变量和入口参数的所有属性
2009/07/01 Python
小小聊天室Python代码实现
2016/08/17 Python
Python 按字典dict的键排序,并取出相应的键值放于list中的实例
2019/02/12 Python
Pandas中DataFrame的分组/分割/合并的实现
2019/07/16 Python
浅析PyTorch中nn.Linear的使用
2019/08/18 Python
使用tqdm显示Python代码执行进度功能
2019/12/08 Python
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
创业计划书——互联网商机
2014/01/12 职场文书
党的群众路线教育实践活动心得体会
2014/03/03 职场文书
环保建议书
2014/03/12 职场文书
爱国演讲稿400字
2014/05/07 职场文书
优秀班主任主要事迹材料
2014/12/16 职场文书
工商行政处罚决定书
2015/06/24 职场文书
围城读书笔记
2015/06/26 职场文书
领导离职感言
2015/08/03 职场文书
初中班级口号霸气押韵
2015/12/24 职场文书
《丑小鸭》教学反思
2016/02/19 职场文书
Python实现智慧校园自动评教全新版
2021/06/18 Python
springboot如何初始化执行sql语句
2021/06/22 Java/Android