2017-02-16 9 views
1

Я работаю над сайтом в стиле IMDB, и мне нужно динамически находить количество отзывов для фильма. Рецензии хранятся в папке с именем /moviefiles/moviename/review[*].txt, где [*] - это номер обзора. В основном мне нужно возвращать как целое число, сколько из этих файлов существует в этом каталоге. Как мне это сделать?Как подсчитать количество TXT-файлов в каталоге в PHP?

Спасибо.

ответ

0

Вы можете использовать этот 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> 
2

Try ниже код Чтобы найти .txt количество файлов

$directory = '/var/www/ajaxform/'; 
$files = glob($directory . '*.txt'); 

if ($files !== false) 
{ 
    $filecount = count($files); 
    echo $filecount; 
} 
else 
{ 
    echo 0; 
} 

возврата $ FileCount;

1

Использование PHP DirectoryIterator или FileSystemIterator:

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

Во-первых, использовать glob(), чтобы получить список файлов массив, а затем использовать count(), чтобы получить длину массива, длина массива является количество файлов.

Упростить код:

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

Это очень простой код, который хорошо работает.)

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

 Смежные вопросы

  • Нет связанных вопросов^_^