visitFile()函数来源:http://topic.csdn.net/u/20071225/11/e6a8db84-df02-4622-987b-2a4ed4a5eef0.html (第14楼)

注: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&middot;%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&middot;%s<br>\r\n", $key+1, $value);
}
}
break;
}
}
?>

转载于:https://www.cnblogs.com/hcbin/archive/2010/08/10/1796425.html

[PHP] - visitFile()遍历指定文件夹相关推荐

  1. windows中遍历指定文件夹下的所有子文件夹

    前面我给出了windows下面指定文件夹下面指定类型文件的遍历程序,这里,再给出遍历指定文件夹下的所有子文件夹的程序: #include "stdafx.h" #include & ...

  2. C#遍历指定文件夹中的所有文件

    C#遍历指定文件夹中的所有文件  DirectoryInfo TheFolder=new DirectoryInfo(folderFullName); //遍历文件夹 foreach(Director ...

  3. php遍历文件夹下文件内容_PHP递归遍历指定文件夹内的文件实现方法

    今天早上在地铁上看了关于文件和文件夹的一章,正好最近刚搞懂linux的文件系统,觉得对文件属性的访问跟Shell命令很像,所以想晚上来实践一下. 发现php的文件夹函数好像没有提供遍历文件夹下的所有文 ...

  4. java ftp遍历所有子文件_Java 遍历指定文件夹及子文件夹下的文件

    Java 遍历指定文件夹及子文件夹下的文件 /** * 遍历指定文件夹及子文件夹下的文件 * * @author testcs_dn * @date2014年12月12日下午2:33:49 * @pa ...

  5. bat递归查找指定文件_批处理脚本遍历指定文件夹下的文件

    批处理脚本 1. 遍历指定文件夹下的文件 1.1 命令解释 命令: for [参数] %%变量名 in (匹配符) do (执行的命令) 切记:每个指令之间必须以空格隔开,in 与 ( 之间有空格,d ...

  6. 遍历指定文件夹下的所有文件名

    遍历指定文件夹下的所有文件名 主要使用到os.walk()函数 具体的使用参考os.walk() 使用方法 import os filePath = './data' for i,j,k in os. ...

  7. shell脚本:遍历指定文件夹下.jar后缀的文件,并备份到目标文件夹

    shell脚本:遍历指定文件夹下.jar后缀的文件,并备份到目标文件夹 批量备份源文件夹下的所有jar包 并用原名+日期时间重命名 过程如下: 创建一个sh文件: vim test.sh 按 i 进入 ...

  8. DirectoryInfo(查询)---遍历指定文件夹下所有文件及文件夹

    一.DirectoryInfo(查询)-遍历指定文件夹下所有文件及文件夹 ## 一.GetDirectories()方法遍历文件夹 string path = Application.StartupP ...

  9. python遍历指定文件夹的所有文件_python 统计指定文件夹下所有的文件数量,BFS方式...

    python 统计指定文件夹下所有的文件数量 本来一直是有这个需求,只是以前写的是递归的方式处理,感觉对资源的占用不友好,而且python的最大递归深度不超过1000,所以改了一下,这里用广度优先遍历 ...

  10. php获得指定目录文件,PHP遍历指定文件夹获取路径及大小(包含子文件夹)

    PHP获取指定文件夹下(包含子文件夹)所有文件路径 及 大小 代码如下: // 获取指定文件夹 所有文件及大小 (包含子文件夹) By [简爱] function JA_files2arr($dirp ...

最新文章

  1. mysql load会锁表吗_Mysql必读MySQL中由load data语句引起死锁的解决案例
  2. 【含义解析】%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %m%n
  3. 图形图像技术在手游中的潜在应用
  4. mysql控制台教程视频教程_mysql 控制台操作
  5. python打包的exe如何免杀_如何使用Python进行Payload免杀
  6. 云小课 | 到底什么是区块链?
  7. 在VS2005下搭建和使用CppUnit
  8. HTML(一):HTML基本元素标签
  9. 你真的了解特洛伊木马吗!
  10. Synergy两台电脑使用同一个鼠标和键盘
  11. 在r中弄方差分析表_使用R语言进行单因素方差分析
  12. VCF虚拟融合架构--企业IT基础架构建设新趋势-李飞 秦贵松 (VCF 虚拟融合架构 )
  13. C陷阱与缺陷(学习笔记)
  14. java-net-php-python-ssm仿猫眼电影计算机毕业设计程序
  15. 保险精算--第五周作业
  16. java自旋锁使用_10.Java锁之自旋锁
  17. java基础_设计模式_设计基础(小鸭子游戏)
  18. 对于木马的一些介绍(预防木马)
  19. 互联网金融公司在信贷风险管理方面,主要面临哪些挑战
  20. MPC算法轨迹跟踪控制资源

热门文章

  1. java用循环图形显示_请问如何在使用循环绘制图形时使每个图形的显示之间有一定的延迟时间?...
  2. 4.2线程局部变量(Thread-Local Variables)
  3. 【渝粤教育】广东开放大学 外国文学专题 形成性考核 (55)
  4. 线性模型第1讲:最小二乘法
  5. Understand-4.0.877-Linux-64bit.tgz最新版本2017年源代码阅读利器,养眼theme之配置
  6. 六千字干货文:到底要怎么去学算法?
  7. load data file使用详解
  8. 【转】C语言条件编译及编译预处理阶段
  9. mssql 取数据指定条数(例:100-200条的数据)
  10. 一站式学习Redis 从入门到高可用分布式实践(慕课)第三章 Redis客户端