当前位置: 首页 > 编程笔记 >

使用PHP函数scandir排除特定目录

诸经略
2023-03-14
本文向大家介绍使用PHP函数scandir排除特定目录,包括了使用PHP函数scandir排除特定目录的使用技巧和注意事项,需要的朋友参考一下

scandir()函数返回一个数组,其中包含指定路径中的文件和目录。如下所示:

例子:

<?php
print_r(scandir('test_directory'));
?>

输出:

Array
(
[0]=>.
[1]=>..
[2]=>1.txt
[3]=>2.txt
)

大部分情况只需要该目录的文件列表数组,如下:

Array
(
[0]=>1.txt
[1]=>2.txt
)

一般是通过排除“.”或者“..”的数组项解决的:

<?php
functionfind_all_files($dir)
{
    $root = scandir($dir);
    foreach($rootas$value)
    {
        if($value === '.' || $value === '..'){
            continue;
        }
        if(is_file("$dir/$value")){
            $result[] = "$dir/$value";
            continue;
        }
        foreach(find_all_files("$dir/$value")as$value)
        {
            $result[] = $value;
            }
        }
    return$result;
    }
?>

另外一种方法,利用array_diff函数,剔除scandir函数执行得到的数组:

<?php
$directory='/path/to/my/directory';
$scanned_directory=array_diff(scandir($directory),array('..','.'));
?>

通常情况代码管理会产生.svn文件,或者限制目录访问权限的.htaccess等文件。所以通过array_diff函数来过滤会更方便。

 类似资料:
  • 问题内容: 我要复制目录中的所有文件,但特定子目录中的某些文件除外。我注意到’cp’命令没有–exclude选项。那么,我该如何实现呢? 问题答案: rsync快速简便: 您可以使用多次。 请注意, option 之后的dir 相对于,即。 您也可以添加空运行以查看执行实际操作之前要复制的内容,如果一切正常,请从命令行中删除。

  • 问题内容: 我是一名菜鸟PHP开发人员。 我已经创建了一个包含带有“添加”按钮的HTML页面的PHP Web项目。该页面的名称是awards.html。awards.html文件包含其对应的JavaScript文件awards.js。单击添加按钮时,将在此js文件中执行代码。此代码将AJAX调用发送到位于名为Award.php的项目的文件夹中的PHP类。该PHP文件包含代码,该代码用于执行位于项目

  • 使用IntelliJ打开一个< code>build.gradle文件,在“从gradle导入项目”窗口中,“排除的根”预填充有< code >。gradle和< code>build目录。 如何指定在文件? 具体来说,我使用了一个协议缓冲插件,它将生成的源代码放在< code >/build/generated-sources/目录中。如果排除了< code>build目录,那么我的源类就看不到

  • 本文向大家介绍php中目录操作opendir()、readdir()及scandir()用法示例,包括了php中目录操作opendir()、readdir()及scandir()用法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php中目录操作opendir()、readdir()及scandir()用法。分享给大家供大家参考,具体如下: opendir(path,context)若

  • 问题内容: 我有这段代码,我想知道如何排除除特定路径中的一个以外的所有json 问题答案: 根据Webpack文档,您可以执行以下操作。

  • 在我的javascript代码中实现了合并排序算法。 我想知道在调用merge-sort(array)时,如何针对特定属性(如日期、标题、名称等)在数组中进行排序 。 在排序选项方法中使用它。我想要的是打印一个排序列表。列表的排序方式将由用户选择的排序选项定义。