php遍历目录二例代码

发布时间:2021-01-14编辑:脚本学堂
分享下php遍历目录的二个代码,学习下php目录遍历的实现方法,有需要的朋友参考下。

例1,php遍历目录
 

复制代码 代码示例:
<?php
/*
 * 遍历目录
 * fopen()
 * fread()
 * fclose()
 * @opendir(目标路径);E_WARNINE
 * readdir(目录引用句柄) rewinddir()
 * closedir()
 *
 * 在程序设计中,句柄是一种特殊的智能指针 。当一个应用程序要引用其他系统(如数据库、操作系统)
 * 所管理的内存块或对象时,就要使用句柄。句柄与普通指针的区别在于,
 * 指针包含的是引用对象的内存地址,而句柄则是由系统所管理的引用标识,
 * 该标识可以被系统重新定位到一个内存地址上。这种间接访问对象的模式增强了系统对引用对象的控制。
 *  (脚本学堂 www.jb200.com)
 */
$dirHandle=@opendir("phpmyadmin") or die("打开目录不成功");
echo "phpMyAdmin 目录下所有内容是: <br>";
echo readdir($dirHandle)."<br>";
echo readdir($dirHandle)."<br>";
   
while(($file=readdir($dirHandle))!==false)
{
$file="phpMyadmin".DIRECTORY_SEPARATOR.$file;
if(is_dir($file))
{
  echo "目录: ".$file."<br>";
  }else
{
   echo "文件: ".$file."文件大小: ".filesize($file)."KB<br>";
}     
}
rewinddir($dirHandle); //返回句柄开始,重新遍历一次
while(($file=readdir($dirHandle))!==false)
{
$file="phpMyadmin".DIRECTORY_SEPARATOR.$file;
if($file!="."&&$file!="..") //直接不读
{
 if(is_dir($file))
 {
   echo "目录: ".$file."<br>";
}else
{
 echo "文件: ".$file."文件大小: ".filesize($file)."KB<br>";
}
}
}
closedir($dirHandle);
?>

例2,
 

复制代码 代码示例:
<?php
/*
 * 遍历目录
 *
 * class dir{
 * string path;
 * resource handle;
 * string read(void);
 * void rewind(void);
 * void close(void);
 * }
 *
 * 在程序设计中,句柄是一种特殊的智能指针 。当一个应用程序要引用其他系统(如数据库、操作系统)
 * 所管理的内存块或对象时,就要使用句柄。句柄与普通指针的区别在于,
 * 指针包含的是引用对象的内存地址,而句柄则是由系统所管理的引用标识,
 * 该标识可以被系统重新定位到一个内存地址上。这种间接访问对象的模式增强了系统对引用对象的控制。
 *
 */
$d = dir("phpMyAdmin");
echo "路径是:".$d->path."<br>";
echo "引用句柄是: ". $d->handle."<br>";
// $d->read();
// $d->read();
while(($file=$d->read())!==false)
{
   if($file!="."&&$file!="..")
   {
       echo $file."<br>";
    }
}
$d->close();
?>