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 相关文章推荐
Zend Studio (eclipse)使用速度优化方法
Mar 23 PHP
如何使用PHP实现javascript的escape和unescape函数
Jun 29 PHP
Yii中render和renderPartial的区别
Sep 03 PHP
PHP获取数组中重复最多的元素的实现方法
Nov 11 PHP
PHP callback函数使用方法和注意事项
Jan 23 PHP
php的4种常见运行方式
Mar 20 PHP
php使用指定编码导出mysql数据到csv文件的方法
Mar 31 PHP
php防止用户重复提交表单
Nov 02 PHP
ThinkPHP 在阿里云上的nginx.config配置实例详解
Oct 11 PHP
PHP强制转化的形式整理
May 22 PHP
open_basedir restriction in effect. 原因与解决方法
Mar 14 PHP
宝塔面板出现“open_basedir restriction in effect. ”的解决方法
Mar 14 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获取当前网址url并替换参数或网址的方法
2010/06/06 PHP
PHP获取一段文本显示点阵宽度和高度的方法
2015/03/12 PHP
php实现插入数组但不影响原有顺序的方法
2015/03/27 PHP
phpcms手机内容页面添加上一篇和下一篇
2015/06/05 PHP
PHP语言对接抖音快手小红书视频/图片去水印API接口源码
2020/08/11 PHP
一份老外写的XMLHttpRequest代码多浏览器支持兼容性
2007/01/11 Javascript
Ext JS Grid在IE6 下宽度的问题解决方法
2009/02/15 Javascript
将函数的实际参数转换成数组的方法
2010/01/25 Javascript
理解Javascript_08_函数对象
2010/10/15 Javascript
JS:window.onload的使用介绍
2013/11/13 Javascript
jQuery$命名冲突怎么办如何解决
2014/01/16 Javascript
浅谈Javascript线程及定时机制
2015/07/02 Javascript
javascript实现将文件保存到本地方法汇总
2015/07/26 Javascript
js跨浏览器的事件侦听器和事件对象的使用方法
2015/12/17 Javascript
仿百度换肤功能的简单实例代码
2016/07/11 Javascript
bootstrap datepicker限定可选时间范围实现方法
2016/09/28 Javascript
BootStrapTable服务器分页实例解析
2016/12/20 Javascript
Angular的事件和表单详解
2016/12/26 Javascript
七行JSON代码把你的网站变成移动应用过程详解
2019/07/09 Javascript
layui自定义插件citySelect实现省市区三级联动选择
2019/07/26 Javascript
Python中解析JSON并同时进行自定义编码处理实例
2015/02/08 Python
利用python操作SQLite数据库及文件操作详解
2017/09/22 Python
Python多继承原理与用法示例
2018/08/23 Python
Python 读取WAV音频文件 画频谱的实例
2020/03/14 Python
matplotlib 画双轴子图无法显示x轴的解决方法
2020/07/27 Python
兰蔻美国官网:Lancome美国
2017/04/25 全球购物
美国购买肉、鸭、家禽、鹅肝和熟食网站:D’Artagnan
2018/11/13 全球购物
生物技术毕业生自荐信
2013/10/23 职场文书
幼儿园毕业家长感言
2014/02/10 职场文书
事业单位考核材料
2014/05/21 职场文书
合唱兴趣小组活动总结
2014/07/10 职场文书
农村文化活动总结
2014/08/28 职场文书
工伤事故证明
2014/10/20 职场文书
2015小学语文教师个人工作总结
2015/05/20 职场文书
详解CocosCreator项目结构机制
2021/04/14 Javascript
SQL Server的存储过程与触发器以及系统函数和自定义函数
2022/04/10 SQL Server