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扩展函数
Oct 09 PHP
如何隐藏你的.php文件
Jan 04 PHP
php getsiteurl()函数
Sep 05 PHP
JS与PHP向函数传递可变参数的区别实例代码
May 18 PHP
使用HMAC-SHA1签名方法详解
Jun 26 PHP
PHP删除HTMl标签的三种解决方法
Jun 30 PHP
php表单请求获得数据求和示例
May 15 PHP
php jsonp单引号转义
Nov 23 PHP
用PHP代码在网页上生成图片
Jul 01 PHP
php根据用户语言跳转相应网页
Nov 04 PHP
php7新特性的理解和比较总结
Apr 14 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
Dec 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函数
2008/10/03 PHP
php file_exists 检查文件或目录是否存在的函数
2010/05/10 PHP
用PHP代替JS玩转DOM的思路及示例代码
2014/06/15 PHP
WordPress中获取所使用的模板的页面ID的简单方法
2015/12/31 PHP
php自定义函数实现汉字转换utf8编码的方法
2016/09/29 PHP
使用CSS3实现字体颜色渐变的实现
2021/03/09 HTML / CSS
jquery dialog键盘事件代码
2010/08/01 Javascript
基于jquery的监控数据是否发生改变
2011/04/11 Javascript
javascript 常用功能总结
2012/03/18 Javascript
浅析document.createDocumentFragment()与js效率
2013/07/08 Javascript
jquery移除、绑定、触发元素事件使用示例详解
2014/04/10 Javascript
Bootstrap3学习笔记(三)之表格
2016/05/20 Javascript
JavaScript遍历数组和对象的元素简单操作示例
2019/07/09 Javascript
[01:03:31]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第二局
2016/02/26 DOTA
[01:13:17]Secret vs NB 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[57:59]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第一场 11.05
2020/11/05 DOTA
简单的通用表达式求10乘阶示例
2014/03/03 Python
python实现数独算法实例
2015/06/09 Python
Windows下python3.6.4安装教程
2018/07/31 Python
selenium+python自动化测试之鼠标和键盘事件
2019/01/23 Python
对python pandas读取剪贴板内容的方法详解
2019/01/24 Python
解决pycharm下os.system执行命令返回有中文乱码的问题
2019/07/07 Python
python实现截取屏幕保存文件,删除N天前截图的例子
2019/08/27 Python
在win64上使用bypy进行百度网盘文件上传功能
2020/01/02 Python
Python GUI编程学习笔记之tkinter控件的介绍及基本使用方法详解
2020/03/30 Python
Html5如何唤起百度地图App的方法
2019/01/27 HTML / CSS
巴西最大的家具及装饰用品店:Mobly
2017/10/11 全球购物
编写strcpy函数
2014/06/24 面试题
化工专业个人的求职信范文
2013/11/28 职场文书
测试工程师岗位职责
2013/11/28 职场文书
基层工作经验证明样本
2014/11/16 职场文书
三方协议书
2015/01/27 职场文书
放假通知格式
2015/04/14 职场文书
务工证明怎么写
2015/06/18 职场文书
银行文明优质服务培训心得体会
2016/01/09 职场文书
python opencv通过按键采集图片源码
2021/05/20 Python