【问题标题】:How to count number of .txt files in a directory in PHP?如何计算 PHP 目录中 .txt 文件的数量?
【发布时间】:2017-07-05 00:36:45
【问题描述】:

我正在开发一个 IMDB 风格的网站,我需要动态查找电影的评论数量。评论存储在名为/moviefiles/moviename/review[*].txt 的文件夹中,其中[*] 是评论的编号。基本上我需要以整数形式返回该目录中存在多少这些文件。我该怎么做?

谢谢。

【问题讨论】:

    标签: php file file-handling


    【解决方案1】:

    这是一个运行良好的非常简单的代码。 :)

    $files = glob('yourfolder/*.{txt}', GLOB_BRACE);
    foreach($files as $file) {
        your work
    }
    

    【讨论】:

      【解决方案2】:

      首先使用glob ()获取文件列表数组,然后使用count ()获取数组长度,数组长度为文件个数。

      简化代码:

      $txtFileCount = count( glob('/moviefiles/moviename/review*.txt') );
      

      【讨论】:

        【解决方案3】:

        使用 php DirectoryIterator 或 FileSystemIterator:

        $directory = new DirectoryIterator(__DIR__);
        $num = 0;
        foreach ($directory as $fileinfo) {
            if ($fileinfo->isFile()) {
                if($fileinfo->getExtension() == 'txt')
                    $num++;
            }
        }
        

        【讨论】:

        • 很高兴看到有人使用DirectoryIterator()。这种任务正是迭代器存在的原因。
        【解决方案4】:

        您可以使用此 php 代码获取文件夹中文本文件的数量

        <div id="header">
        <?php 
            // integer starts at 0 before counting
            $i = 0; 
            $dir = 'folder-path';
            if ($handle = opendir($dir)) {
                while (($file = readdir($handle)) !== false){
                    if (!in_array($file, array('.', '..')) && !is_dir($dir.$file)) 
                    {
                        $temp = explode(".",$file);
                        if($temp[1]=="txt")
                            $i++;
                    }
                }
            }
            // prints out how many were in the directory
            echo "There were $i files";
        ?>
        </div>
        

        【讨论】:

          【解决方案5】:

          看看glob()函数:http://php.net/manual/de/function.glob.php
          然后您可以使用sizeof() 来计算有多少文件。

          【讨论】:

            猜你喜欢
            • 2011-10-15
            • 2019-07-21
            • 1970-01-01
            • 2020-10-07
            • 1970-01-01
            • 2012-06-09
            • 2021-06-25
            • 2021-03-05
            • 2012-09-26
            相关资源
            最近更新 更多