php visitFile()遍历指定文件夹函数

 更新时间:2010年08月21日 20:29:51   作者:  
php visitFile()遍历指定文件夹函数,需要在php中遍历文件夹功能的代码,可以参考下。
注: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;
}
}
?>

相关文章

  • php 开发中加密的几种方法总结

    php 开发中加密的几种方法总结

    这篇文章主要介绍了php 开发中加密的几种方法总结的相关资料,需要的朋友可以参考下
    2017-03-03
  • PHP5中的时间相差8小时的解决办法

    PHP5中的时间相差8小时的解决办法

    PHP5系列版本新增了时区设置,默认为格林威治时间,与中国所在的东8区正好相差8个小时
    2008-03-03
  • php解决和避免form表单重复提交的几种方法

    php解决和避免form表单重复提交的几种方法

    在PHP提交表单的时候,可能遇到网速等导致页面突然加载变慢,用户重复地点击提交按钮,将在数据库产生多条数据,导致不可控情况。那么如何避免和解决这种问题呢?下面来一起看看。
    2016-08-08
  • PHP日期处理函数 整型日期格式

    PHP日期处理函数 整型日期格式

    我正打算用PHP编写一种帮助处理系统。我发现我必须知道处理完最后一位客户的问题后已经过去了多长时间?
    2011-01-01
  • 利用PHP快速抓取音频数据的方法详解

    利用PHP快速抓取音频数据的方法详解

    这篇文章主要给大家介绍了如何利用PHP快速抓取音频数据,文中使用Dusk库和PHP编写的爬虫程序,用于爬取海量的音频数据,有详细的代码示例供大家参考,需要的朋友可以参考下
    2023-10-10
  • PHP缓存系统APCu扩展的使用

    PHP缓存系统APCu扩展的使用

    这篇文章主要介绍了PHP缓存系统APCu扩展的使用,帮助大家更好的理解和学习使用php,感兴趣的朋友可以了解下
    2021-04-04
  • php求数组全排列,元素所有组合的方法

    php求数组全排列,元素所有组合的方法

    这篇文章主要介绍了php求数组全排列,元素所有组合的方法,涉及php针对数组与字符串的分割、遍历、数学运算等技巧,需要的朋友可以参考下
    2016-05-05
  • PHP获取数据库表中的数据插入新的表再原删除数据方法

    PHP获取数据库表中的数据插入新的表再原删除数据方法

    在本篇文章中我们给大家分享了关于PHP获取要删除数据库表中的数据插入新的表再原删除数据的详细方法和相关代码,需要的朋友们参考下。
    2018-10-10
  • PHP与MySQL开发中页面乱码的产生与解决

    PHP与MySQL开发中页面乱码的产生与解决

    一般来说,乱码的出现有2种原因,首先是由于编码(charset)设置错误,导致浏览器以错误的编码来解析,从而出现了满屏乱七八糟的“天书”,其次是文件被以错误的编码打开,然后保存,比如一个文本文件原先是GB2312编码的,却以UTF-8编码打开再保存。要解决上述乱码问题,首先需要知道开发中哪些环节涉及到了编码:
    2008-03-03
  • 深入PHP数据加密详解

    深入PHP数据加密详解

    本篇文章是对PHP数据加密进行了详细的分析介绍,需要的朋友参考下
    2013-06-06

最新评论