php读取目录及子目录下所有文件名的方法

首先,我们可以使用opendir()函数打开一个目录,接着使用readdir()函数读取该目录下的所有文件和子目录的文件名,再使用递归进行遍历子目录中的所有文件。下面是完整的代码示例:

function read_directory($dir)
{
    $files = array();

    if(is_dir($dir))
    {
        $handle = opendir($dir);

        if($handle)
        {
            while(($file = readdir($handle)) !== false)
            {
                if($file != "." && $file != "..")
                {
                    if(is_dir($dir . "/" . $file))
                    {
                        $files[$file] = read_directory($dir . "/" . $file);
                    }
                    else
                    {
                        $files[] = $file;
                    }
                }
            }

            closedir($handle);
        }
    }

    return $files;
}

// 读取当前目录下的所有文件名
$files = read_directory(__DIR__);
print_r($files);

// 读取指定目录下的所有文件名
$files = read_directory("/path/to/directory");
print_r($files);

上述代码中,函数read_directory()接受一个目录路径作为参数,返回一个包含当前目录及其子目录下所有文件名的多维数组。

执行上述代码,我们可以得到以下结果:

Array
(
    [file1.txt] => 
    [file2.txt] => 
    [folder1] => Array
        (
            [file3.txt] => 
            [file4.txt] => 
        )

    [folder2] => Array
        (
            [file5.txt] => 
            [folder3] => Array
                (
                    [file6.txt] => 
                    [file7.txt] => 
                )

        )

)

另外,我们也可以使用RecursiveDirectoryIterator类和RecursiveIteratorIterator类来遍历目录及其子目录,并获取所有文件名。下面是另一个示例代码:

$dir = new RecursiveDirectoryIterator(__DIR__);
$iterator = new RecursiveIteratorIterator($dir);

$files = array();

foreach($iterator as $file)
{
    if(!$file->isFile()) continue;

    $files[] = $file->getFilename();
}

print_r($files);

执行上述代码,我们同样可以得到当前目录下的所有文件名的列表。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php读取目录及子目录下所有文件名的方法 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • php文件夹与文件目录操作函数介绍

    PHP中提供了很多用于操作文件夹和文件目录的内置函数,这使得对文件目录进行处理变得十分方便。下面分别介绍几个常用的文件夹和文件目录操作函数。 一、文件夹操作函数 1.创建文件夹:mkdir() mkdir() 函数用于创建一个新文件夹。它需要两个参数,第一个参数为要创建的文件夹路径,第二个参数为可选参数,用来设置文件夹的权限。 示例: <?php //…

    PHP 2023年5月26日
    00
  • JS回调函数原理与用法详解【附PHP回调函数】

    JS回调函数原理与用法详解【附PHP回调函数】 什么是回调函数? 回调函数是指在一个函数中调用另一个函数时,将这个函数作为参数传递给被调用的函数,并在被调用的函数执行完毕后再执行这个作为参数传递进去的函数。最常见的情况是异步编程中,用于处理异步请求的回调函数。 JS中的回调函数 在JavaScript中,可以通过定义函数的方式来实现回调函数的功能。例如: f…

    PHP 2023年5月27日
    00
  • 一个PHP二维数组排序的函数分享

    让我们来讲解“一个PHP二维数组排序的函数分享”的完整攻略。 问题描述 在开发PHP程序时,经常会涉及到对二维数组进行排序的情况。二维数组是一个特殊的数组,它包含多个子数组,在排序时需要考虑到子数组的顺序,且每个子数组中的元素可能是不同的数据类型。因此,我们需要编写一个通用的函数来完成对二维数组的排序。 解决方案 为了解决上述问题,我们可以编写一个函数来完成…

    PHP 2023年5月26日
    00
  • PHP使用ZipArchive批量打包压缩文件并下载

    PHP使用ZipArchive批量打包压缩文件,并下载。使用php自带的ZipArchive类,可以压缩或解压文件。 首先需要确定已经安装了zip扩展,如果没有安装,请先安装,下载:http://pecl.php.net/package/zip (相应php版本的zip包)     先把需要下载的文件路径找出来并组成数组,如下 Array ( [0] =&g…

    PHP 2023年4月18日
    00
  • thinkPHP+phpexcel实现excel报表输出功能示例

    下面我将给您详细讲解“thinkPHP+phpexcel实现excel报表输出功能示例”的完整攻略,过程中将包含两条示例说明。 1. 简介 1.1 ThinkPHP ThinkPHP 是一个免费开源的、快速、简单的面向对象的轻量级PHP开发框架。他能够快速的建立一个高性能的网站应用程序。 1.2 PHPExcel PHPExcel 是一个强大、开放、免费、跨…

    PHP 2023年5月26日
    00
  • PHP 处理图片的类实现代码

    那么我们来详细讲解一下 PHP 如何处理图片的类实现代码。 首先,在 PHP 中处理图片需要用到 GD 库,所以要确认 GD 库是否已经安装并启用。 接下来,创建一个 PHP 文件,并引入 GD 库的相关文件: <?php // 引入 GD 库 extension_loaded(‘gd’) or die(‘GD 模块没有安装’); // 引入相关文件 …

    PHP 2023年5月23日
    00
  • php输出表格的实现代码(修正版)

    绝大多数的网站开发项目需要输出表格,而在PHP应用中,通常我们使用HTML表格标签来完成这一过程。下面是实现输出表格的PHP代码示例,并附有详细的攻略说明。 代码示例 <?php $rows = array( array(‘name’ => ‘李雷’, ‘age’ => 23, ‘gender’ => ‘男’), array(‘nam…

    PHP 2023年5月23日
    00
  • PHP获取文件后缀名的三个函数

    获取文件后缀名是一个常见的操作,也是PHP应用开发中经常用到的技巧。以下是三个常用三个函数的详细介绍和使用示例。 1. pathinfo函数 pathinfo函数可以返回文件路径的信息,包括文件名、目录名、基本名称和扩展名等。可以通过传入不同的参数返回不同的文件信息,其中参数可选包括PATHINFO_DIRNAME(目录名)、PATHINFO_BASENAM…

    PHP 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部