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 相关文章推荐
dedecms防止FCK乱格式化你的代码的修改方法
Mar 17 PHP
php对二维数组进行排序的简单实例
Dec 19 PHP
WordPress网站性能优化指南
Nov 18 PHP
CI(CodeIgniter)模型用法实例分析
Jan 20 PHP
PHP中include()与require()的区别说明
Feb 14 PHP
在Yii2特定页面如何禁用调试工具栏Debug Toolbar详解
Aug 07 PHP
thinkphp 抓取网站的内容并且保存到本地的实例详解
Aug 25 PHP
PHP中检查isset()和!empty()函数的必要性
Feb 13 PHP
PHP实现获取毫秒时间戳的方法【使用microtime()函数】
Mar 01 PHP
让whoops帮我们告别ThinkPHP6的异常页面
Mar 02 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
Mar 26 PHP
TP5框架实现一次选择多张图片并预览的方法示例
Apr 04 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多线程抓取网页实现代码
2010/07/22 PHP
CodeIgniter与PHP5.6的兼容问题
2015/07/16 PHP
PHP概率计算函数汇总
2015/09/13 PHP
Zend Framework入门教程之Zend_Mail用法示例
2016/12/08 PHP
PHP 7.0新增加的特性介绍
2017/06/08 PHP
php empty 函数判断结果为空但实际值却为非空的原因解析
2018/05/28 PHP
分页栏的web标准实现
2011/11/01 Javascript
使用Jquery实现点击文字后变成文本框且可修改
2013/09/21 Javascript
JavaScript中的Truthy和Falsy介绍
2015/01/01 Javascript
jquery右下角自动弹出可关闭的广告层
2015/05/08 Javascript
复杂的javascript窗口分帧解析
2016/02/19 Javascript
详解JavaScript for循环中发送AJAX请求问题
2020/06/23 Javascript
浅析jquery数组删除指定元素的方法:grep()
2016/05/19 Javascript
JQuery异步提交表单与文件上传功能示例
2017/01/12 Javascript
一个小时快速搭建微信小程序的方法步骤
2019/04/15 Javascript
基于JS实现数字动态变化显示效果附源码
2019/07/18 Javascript
vscode vue 文件模板的配置方法
2019/07/23 Javascript
node.js基于dgram数据报模块创建UDP服务器和客户端操作示例
2020/02/12 Javascript
python顺序的读取文件夹下名称有序的文件方法
2018/07/11 Python
python调用外部程序的实操步骤
2019/03/04 Python
在pyqt5中QLineEdit里面的内容回车发送的实例
2019/06/21 Python
详解Python3中的 input() 函数
2020/03/18 Python
以设计师精品品质提供快速时尚:PopJulia
2018/01/09 全球购物
英国大码女性时装零售商:Evans
2018/08/29 全球购物
adidas爱尔兰官方网站:阿迪达斯运动鞋和运动服
2019/11/01 全球购物
关键字final的用法
2013/10/02 面试题
大学军训感想
2014/02/12 职场文书
初中升旗仪式演讲稿
2014/05/08 职场文书
机电一体化专业求职信
2014/07/22 职场文书
社保缴纳证明申请书
2014/11/03 职场文书
店铺转让协议书
2015/01/29 职场文书
2016年会开场白台词
2015/06/01 职场文书
先进党支部事迹材料2016
2016/02/26 职场文书
详解 TypeScript 枚举类型
2021/11/02 Javascript
JavaScript异步操作中串行和并行
2021/11/20 Javascript
Python中super().__init__()测试以及理解
2021/12/06 Python