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 相关文章推荐
Look And Say 序列php实现代码
May 22 PHP
php数组函数序列之array_key_exists() - 查找数组键名是否存在
Oct 29 PHP
PHPMailer邮件发送的实现代码
May 04 PHP
深入理解require与require_once与include以及include_once的区别
Jun 05 PHP
深入php self与$this的详解
Jun 08 PHP
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
Feb 18 PHP
微信公众平台开发实现2048游戏的方法
Apr 15 PHP
PHP中Http协议post请求参数
Nov 02 PHP
PHP getallheaders无法获取自定义头(headers)的问题
Mar 23 PHP
非常实用的php验证码类
May 15 PHP
ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】
Mar 11 PHP
Laravel框架查询构造器简单示例
May 08 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/14 PHP
php生成随机密码的几种方法
2011/01/17 PHP
PHP中文竖排转换实现方法
2015/10/23 PHP
php实现概率性随机抽奖代码
2016/01/02 PHP
php微信公众号开发模式详解
2016/11/28 PHP
PHP 进度条函数的简单实例
2017/09/19 PHP
javascript Demo模态窗口
2009/12/06 Javascript
jquery 多级下拉菜单核心代码
2010/05/21 Javascript
Jquery利用mouseenter和mouseleave实现鼠标经过弹出层且可以点击
2014/02/12 Javascript
javascript基于HTML5 canvas制作画箭头组件
2014/06/25 Javascript
js实现点击图片改变页面背景图的方法
2015/02/28 Javascript
JavaScript实现为指定对象添加多个事件处理程序的方法
2015/04/17 Javascript
javascript入门之string对象【新手必看】
2016/11/22 Javascript
JavaScript实现同一个页面打开多张图片
2016/12/29 Javascript
单击按钮发送验证码,出现倒计时的简单实例
2017/03/17 Javascript
jquery.param()实现数组或对象的序列化方法
2018/10/08 jQuery
使用VUE+iView+.Net Core上传图片的方法示例
2019/01/04 Javascript
JSON.stringify()方法讲解
2019/01/31 Javascript
Element PageHeader页头的使用方法
2020/07/26 Javascript
Python的另外几种语言实现
2015/01/29 Python
在Python程序员面试中被问的最多的10道题
2017/12/05 Python
matplotlib简介,安装和简单实例代码
2017/12/26 Python
Python实现的三层BP神经网络算法示例
2018/02/07 Python
Django框架实现的简单分页功能示例
2018/12/04 Python
Pycharm中切换pytorch的环境和配置的教程详解
2020/03/13 Python
python修改微信和支付宝步数的示例代码
2020/10/12 Python
html5 Web SQL Database 之事务处理函数transaction与executeSQL解析
2013/11/07 HTML / CSS
html5使用canvas实现弹幕功能示例
2017/09/11 HTML / CSS
使用canvas来完成线性渐变和径向渐变的功能的方法示例
2019/07/25 HTML / CSS
寒暑假实习证明书模板
2014/11/29 职场文书
超市督导岗位职责
2015/04/10 职场文书
未中标通知书
2015/04/17 职场文书
幼儿园端午节活动总结
2015/05/05 职场文书
婚宴父亲致辞
2015/07/27 职场文书
2015年国庆节寄语
2015/08/17 职场文书
MySql 缓存查询原理与缓存监控和索引监控介绍
2021/07/02 MySQL