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 相关文章推荐
动态网站web开发 PHP、ASP还是ASP.NET
Oct 09 PHP
php数组函数序列之array_splice() - 在数组任意位置插入元素
Nov 07 PHP
PHP错误提示的关闭方法详解
Jun 23 PHP
zf框架的Filter过滤器使用示例
Mar 13 PHP
PHP常量使用的几个需要注意的地方(谨慎使用PHP中的常量)
Sep 12 PHP
php中执行系统命令的方法
Mar 21 PHP
php提高网站效率的技巧
Sep 29 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
Jan 22 PHP
PHP的Yii框架中使用数据库的配置和SQL操作实例教程
Mar 17 PHP
php中时间函数date及常用的时间计算
May 12 PHP
Thinkphp 框架配置操作之配置加载与读取配置实例分析
May 15 PHP
Yii 框架入口脚本示例分析
May 19 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/05/26 PHP
php smarty 二级分类代码和模版循环例子
2011/06/01 PHP
通过5个php实例细致说明传值与传引用的区别
2012/08/08 PHP
php mongodb操作类 带几个简单的例子
2016/08/25 PHP
HR vs CL BO3 第二场 2.13
2021/03/10 DOTA
收集的一些Array及String原型对象的扩展实现代码
2010/12/05 Javascript
javascript Window及document对象详细整理
2011/01/12 Javascript
js静态方法与实例方法分析
2011/07/04 Javascript
ExtJS下 Ext.Direct加载和提交过程排错小结
2013/04/02 Javascript
js获取当月最后一天实例代码
2013/11/19 Javascript
移除AngularJS下URL中的#字符的方法
2015/06/19 Javascript
jQuery插件FusionCharts实现的MSBar3D图效果示例【附demo源码】
2017/03/23 jQuery
最全的JavaScript开发工具列表 总有一款适合你
2017/06/29 Javascript
微信小程序实时聊天WebSocket
2018/07/05 Javascript
浅析vue-router原理
2018/10/19 Javascript
详解服务端预渲染之Nuxt(介绍篇)
2019/04/07 Javascript
微信小程序复选框实现多选一功能过程解析
2020/02/14 Javascript
完美解决通过IP地址访问VUE项目的问题
2020/07/18 Javascript
解决vue addRoutes不生效问题
2020/08/04 Javascript
快速解决Vue、element-ui的resetFields()方法重置表单无效的问题
2020/08/12 Javascript
React Ant Design树形表格的复杂增删改操作
2020/11/02 Javascript
[00:37]DOTA2上海特级锦标赛 Secert 战队宣传片
2016/03/03 DOTA
python中文编码问题小结
2014/09/28 Python
Python中Django发送带图片和附件的邮件
2017/03/31 Python
Django 实现前端图片压缩功能的方法
2019/08/07 Python
基于Python共轭梯度法与最速下降法之间的对比
2020/04/02 Python
Python 如何反方向迭代一个序列
2020/07/28 Python
python中逻辑与或(and、or)和按位与或异或(&amp;、|、^)区别
2020/08/05 Python
8种常用的Python工具
2020/08/05 Python
Python求区间正整数内所有素数之和的方法实例
2020/10/13 Python
英国最大的纸工艺品商店:CraftStash
2018/12/01 全球购物
毕业生文员求职信
2013/11/03 职场文书
大学生预备党员自我评价分享
2013/11/16 职场文书
党的群众路线教育实践活动个人对照检查材料(医生)
2014/11/05 职场文书
2014年社区妇联工作总结
2014/12/02 职场文书
全国爱眼日活动总结
2015/02/27 职场文书