`
xieye
  • 浏览: 840916 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

递归显示linux文件夹下的文件

 
阅读更多
<?php

/**
 * 工具文件
 * 目的在于递归 显示文件夹里的所有文件,仅限linux
 * 
 * 调用示例
 * php recursive.php /home/temp/2 
 * 
 */

//参数确定
if (count($argv) > 1 )
  $dir1 = del_postfix($argv[1]);
else 
  $dir1 = '/home';


//检查第一个路径有,后者没有或错误的方法。
recursive_fold($dir1);
echo "all ok\n";


/**
 * 去除路径末尾的/,并确保是绝对路径
 *
 * @param unknown_type $dir
 * @return unknown
 */
function del_postfix($dir)
{
    if (!preg_match('#^/#', $dir)) {
        throw new Exception('参数必须是绝对路径');
    }
    $dir = preg_replace('#/$#', '', $dir);
    return $dir;
}


/**
 * 公用函数,会调用一个递归方法实现比较
 *
 * @param string $dir1 作为标准的路径
 */
function recursive_fold($dir1){
    if (is_dir($dir1)) {
        $handle = dir($dir1);
        if ($dh = opendir($dir1)) {
            while ($entry = $handle->read()) {
                if (($entry != ".") && ($entry != "..")  && ($entry != ".svn")){
                    //文件全名
                    $new = $dir1."/".$entry;
                    if(is_dir($new)) {
                        //比较
                        recursive_fold($new) ;
                    } else { //如果1是文件,
                        echo $new ."\n";
                    }
                }
            }
            closedir($dh);
        }
    }
}
分享到:
评论

相关推荐

    linux下递归获取文件下的内容(目录和文件)

    本代码是linux下递归输出指定路径下文件夹和文件内容的,已测试通过,有需要的自己下载!

    【shell】遍历文件夹下所有文件

    对linux命令tree的简单实现,遍历指定文件夹下的所有文件

    c++遍历文件夹及其子文件夹所有文件 并输出文件路径和文件内容

    在C++编程中,遍历文件夹及其子文件夹并输出所有文件的路径与内容是一项常见的任务,尤其在处理大量数据或进行文件管理时。这个程序的实现涉及到对操作系统文件系统的接口调用以及文件操作。以下是一份详细的步骤和...

    Python计数文件夹下数量 windows和linux通用

    在这个场景下,我们关注的是如何使用Python编程语言在Windows和Linux操作系统中计数文件夹下的文件数量。Python由于其跨平台的特性,成为了实现这一功能的理想选择。下面我们将详细探讨如何在Python中实现这个功能,...

    Linux修改文件及文件夹权限

    使用`-R`选项可递归地更改目录及其子目录下的所有文件的拥有者。 #### 更改文件所属组:`chgrp` `chgrp`命令用于更改文件或目录的所属组,其使用方式与`chown`类似,但仅涉及用户组的变更。例如,`chgrp -R book /...

    linux c 实现遍历指定路径下的文件夹及文件

    在Linux系统中,C语言是实现底层操作的强大工具,其中包括遍历指定路径下的所有文件和文件夹。这个程序的核心在于使用Linux系统调用,如`opendir()`、`readdir()`和`closedir()`,来读取目录内容,并通过递归的方式...

    Linux-C++-遍历指定文件夹路径下的文件列表并将路径写到txt文件

    本教程将探讨如何遍历指定文件夹路径下的所有文件,并将这些文件的路径写入一个TXT文本文件。这在处理大量数据或者需要自动化文件管理时非常有用。 首先,我们需要了解Linux系统中的文件路径和文件操作的基本概念。...

    linux命令行下的ftp 多文件下载和目录下载

    `-r` 选项表示递归下载目录下的所有文件。 四、FTP 多文件下载和上传的 Shell 脚本 以下是一个使用 Shell 脚本实现 FTP 多文件下载和上传的示例: ``` #!/bin/bash # 设置 FTP 服务器的 IP 地址和端口号 FTP_...

    linux下为目录和文件设置权限,包括子目录的循环递归设置

    ### Linux 下为目录和文件设置权限,包括子目录的循环递归设置 #### 知识点一:Linux 文件权限概述 在 Linux 操作系统中,文件权限管理是至关重要的安全特性之一。通过权限管理,我们可以控制不同用户对文件或目录...

    QT实现文件夹和文件的复制粘贴.docx

    为了实现文件夹的复制,可以使用递归函数qCopyDirectory,该函数将源文件夹的所有文件和子文件夹复制到目标文件夹中。 函数qCopyDirectory的原型为: ```c bool qCopyDirectory(const QDir& fromDir, const QDir& ...

    如何遍历文件夹查找文件

    8. **跨平台考虑**:如果代码需要在不同操作系统(如Windows、Linux、macOS)上运行,需要注意路径分隔符、文件系统特性等方面的差异。 9. **安全性**:在遍历和访问文件时,应遵循最小权限原则,避免读取或修改...

    linux 不删除文件,清空文件中内容的命令

    在Linux操作系统中,有时我们需要清除文件的内容,但并不希望删除文件本身。例如,对于日志文件(如log.txt),我们可能希望保留文件结构,以便后续继续写入新的日志,而不需要每次都创建新文件。本文将介绍如何在...

    Linux删除文件

    linux删除目录很简单,很多人还是...将会删除rm -rf /var/lib/mysql/Storage/ 目录以及其下所有文件、文件夹 删除文件使用实例: rm -f /var/log/httpd/access.log 将会强制删除/var/log/httpd/access.log这个文件

    读取N个文件夹某些文件合并到一个文件夹

    在IT领域,尤其是在编程实践中,有时我们需要将多个文件夹中的特定文件合并到一个新的单一文件夹中。这个过程可能涉及到文件的查找、选择、移动或复制。在这个场景中,我们将使用C++语言来实现这一功能,特别是针对...

    linux 下python多线程递归复制文件夹及文件夹中的文件

    Linux操作系统环境下利用Python进行多线程递归复制文件夹以及文件夹中的文件是高性能程序设计中常见的任务。它主要用于在需要高速读写大量数据,且IO操作频繁的场景中。通过多线程技术,可以将任务分散到不同的CPU...

    linux C语言 文件夹复制

    在Linux系统中,使用C语言实现文件夹复制是一项常见的任务,尤其对于系统级编程和文件管理应用程序来说。这里我们将深入探讨如何使用C语言在Linux环境下完成这个任务,以及相关的技术要点。 首先,我们需要理解...

    文件夹,文件录入数据库

    为了实现文件夹的遍历,我们需要用到递归算法,遍历每一个子文件夹直到达到最底层的文件。 其次,数据库是存储和管理结构化数据的系统。常见的数据库管理系统有MySQL、Oracle、SQL Server和MongoDB等。在将文件录入...

    Linux删除文件夹.doc

    Linux 删除文件夹是一项基本的文件管理操作,对于 Linux 系统管理员和开发者来说是必备的技能。删除文件夹不仅可以释放磁盘空间,还可以保持系统的整洁和组织性。在本节中,我们将详细介绍 Linux 删除文件夹的命令和...

    025获取多层文件夹下文件名并创建超链接共2页.pdf.z

    标题中的"025获取多层文件夹下文件名并创建超链接共2页.pdf.z"和描述中的"025获取多层文件夹下文件名并创建超链接共2页.pdf.zip"提示我们,这个内容可能涉及的是一个教程或者指南,教用户如何在多层文件夹结构中获取...

    Linux文件和目录操作命令

    ### Linux文件和目录操作命令详解 #### 一、概述 Linux作为一款强大的开源操作系统,广泛应用于服务器、桌面以及嵌入式设备等领域。对于初学者来说,掌握基本的文件和目录操作命令至关重要。本文将深入介绍Linux...

Global site tag (gtag.js) - Google Analytics