`

PHP中获取目录及子目录下的所有文件路径和目录路径

 
阅读更多


<?php
/* *
 * Created on
 ***************************************
 * 开发者:小虎
 * 联系QQ:529901956
 ***************************************
 */

 /*
function get_allfiles($path, &$files) {
    if(is_dir($path)){
        $dp = dir($path);
        while ($file = $dp ->read()){
            if(!in_array($file, array(".", ".."))){
                $files[] = $path."/".$file;
                get_allfiles($path."/".$file, $files);
            }
        }
        $dp ->close();
    }
    if(file_exists($path)){
        $files[] =  $path;
    }
}
   
function get_filenamesbydir($dir){
    $files =  array();
    get_allfiles($dir, $files);
    $files = array_unique($files);
    return $files;
}
   
$filenames = get_filenamesbydir("E:\Youku Files");
//打印所有文件名,包括路径
foreach ($filenames as $value) {
    echo $value."\n";
}

*/


function searchFile($path, &$file_array, &$folder_array, &$all_array){
    if(is_dir($path)){  //检查文件目录是否存在
        $H = @ opendir($path);
        while(false !== ($_file=readdir($H))){
            //检索目录
            if(is_dir($path."/".$_file) && !in_array($_file, array(".", "..", "Thumbs.db")))
            {
                array_push($folder_array, $path."/".$_file);
                array_push($all_array, $path."/".$_file);
                searchFile($path."/".$_file, $file_array, $folder_array, $all_array);
            //检索文件
            }
            elseif(file_exists($path."/".$_file) && !in_array($_file, array(".", "..", "Thumbs.db")))
            {
                array_push($file_array,$path."/".$_file);
                array_push($all_array, $path."/".$_file);
            }
        }
        closedir($H);
    }elseif(file_exists($path)){
        array_push($file_array, $path);
        array_push($all_array, $path);
    }
}

$file_array=array(); //存放文件名数组  
$folder_array=array(); //存放目录名数组  
$all_array=array(); //存放全部路径的数组 
searchFile('E:\Youku Files', $file_array, $folder_array, $all_array);
foreach ($all_array as $value) {
    echo $value."\n";
}
?>


分享到:
评论

相关推荐

    php获取目录下所有文件及目录(多种方法)(推荐)

    `searchDir`函数递归地搜索指定路径下的所有文件和子目录,将它们添加到引用参数`$files`中,最终返回文件名数组。第二个`getDir`函数通过`scandir()`读取目录内容,并递归地访问每一个子目录,打印目录名和文件名。...

    获取文件目录.rar

    批处理脚本中,我们可以使用`dir`命令列出当前目录下的所有文件和子目录。例如,`dir /b`将只显示文件名和目录名,不包含其他详细信息。而在PowerShell中,`Get-ChildItem` cmdlet是用于获取文件和目录的,`Get-...

    查找程序根目录下的所有文件

    要遍历根目录及其子目录下的所有文件,可以使用递归方法: ```java void listAllFiles(File dir) { File[] files = dir.listFiles(); if (files != null) { for (File file : files) { if (file.isDirectory...

    php遍历目录和文件列表的类.zip

    在实际应用中,你可以创建`DirectoryTraversal`类的实例,传入你想要遍历的目录路径,然后调用这些方法来获取目录和文件列表,或者执行其他文件系统操作。例如: ```php $traversal = new DirectoryTraversal('/...

    PHP递归寻找指定文件夹的所有文件,并且按照扩展分好目录

    在这个示例中,`classifyFiles()`函数会遍历`源目录`下的所有文件和子目录,根据文件扩展名将文件移动到`texts`、`images`、`scripts`等对应的分类目录下。请注意替换`源目录`为实际要处理的目录路径,并根据需要...

    PHP递归获取目录内所有文件的实现方法

    在PHP编程中,有时我们需要获取一个目录及其子目录下的所有文件。这通常通过递归算法来实现,因为非递归的方式可能会导致代码过于复杂,尤其是当处理深度较大的目录树时。`scan_dir`函数就是一个这样的递归实现,...

    导出路径文件,导出指定文件夹,批量复制文件,文件夹导出带路径工具

    至于压缩包子文件的文件名称为"xcopy",这可能是指Windows操作系统中的`xcopy`命令,虽然这里提到的是PHP实现,但可能借鉴了`xcopy`的思路,提供了一种类似的功能,即深度复制整个目录结构,包括子目录和文件。...

    php遍历目录和文件列表的类

    `scandir()`是PHP中用来遍历目录并返回文件名数组的函数,它会按照文件排序顺序返回目录中的所有文件和子目录。`opendir()`和`readdir()`函数组合可以实现类似的功能,通过打开目录句柄并逐个读取目录条目。`...

    如何在界面上打开文件夹并获取路径

    3. **遍历文件**:由于我们只能获取到选定的文件,而不是整个文件夹,所以如果需要处理文件夹内的所有文件,需要遍历这些文件,并递归处理子文件夹(如果有的话)。 4. **模拟文件夹选择**:一些现代浏览器如Chrome...

    PHP文件操作之获取目录下文件与计算相对路径的方法

    若要递归地获取目录及其子目录中的所有文件,可以编写一个递归函数。以下是一个示例: ```php function get_allfiles($path, &$files) { if (is_dir($path)) { $dp = dir($path); while (($file = $dp-&gt;read...

    php更改目录及子目录下所有的文件后缀的代码

    接下来,我们调用`allfile`函数来获取指定目录及其子目录下的所有文件路径,并存储在一个数组`$arr`中。这个函数通过递归的方式遍历目录,检查每个文件或子目录,如果是文件则添加到数组中。如果遇到子目录,继续...

    php如何实现递归遍历文件目录

    要实现这个功能,我们可以创建一个函数,接收目录路径作为参数,并在内部使用`scandir()`函数来获取目录中的文件和子目录。`scandir()`函数返回一个包含目录中所有条目的数组,包括"."和"..",分别代表当前目录和父...

    php遍历目录生成树状结构

    一个类,可以遍历一个目录,将该目录下所有文件以及子目录及其文件都遍历,生成一个层次分明的数组,还可以将遍历的结果生成一个树状的字符串,直接echo到浏览器。 |-|a.txt |-|b.txt |-|c目录 |---|d.txt |---|c1...

    php递归获取目录内文件(包含子目录)封装类分享

    本文将深入探讨如何利用PHP语言来实现递归获取目录内的所有文件(包括子目录中的文件),并提供一个实用的封装类,帮助开发者更高效地完成任务。 #### 核心知识点解析 ### 一、PHP 递归函数原理与应用 递归函数是...

    PHP实现遍历某一目录下的所有文件并将特定后缀文件复制到特定目录

    在PHP编程中,遍历一个目录下的所有文件并复制特定后缀的文件到另一个目录是一项常见的任务,尤其在处理大量数据或文件管理时。以下是一个详细的步骤解释如何实现这一功能: 1. **打开目录** 首先,你需要使用PHP的...

    简单的在线文件管理PHP

    在这个文件中,我们可以看到PHP的`scandir()`函数用于读取目录内容,返回一个包含目录中所有文件和子目录的数组。通过遍历这个数组,可以列出所有文件,展示在一个表格或者列表中供用户查看。 文件上传功能通常涉及...

    php文件-浏览目录以及文件

    在上述代码中,我们创建了一个名为`browseDirectory`的函数,它接收一个目录路径作为参数,然后遍历其中的每个文件和子目录。如果遇到子目录,我们会创建一个链接以便用户可以进一步探索。对于文件,我们调用`check...

    php获取目录中所有文件名及判断文件与目录的简单方法

    综上所述,本文介绍了如何使用PHP的 `opendir()`、`readdir()`、`closedir()` 函数组合来获取目录下所有文件名,以及如何使用 `is_file()` 和 `is_dir()` 函数来区分文件和目录。掌握这些基础知识点,对于进行文件...

Global site tag (gtag.js) - Google Analytics