2017-02-16 2 views
1

Ich arbeite an einer IMDB-Style-Website und ich muss dynamisch die Anzahl der Bewertungen für einen Film finden. Die Überprüfungen werden in einem Ordner mit der Bezeichnung /moviefiles/moviename/review[*].txt gespeichert, wobei [*] die Nummer ist, die die Überprüfung ist. Grundsätzlich muss ich als Integer zurückgeben, wie viele dieser Dateien in diesem Verzeichnis existieren. Wie mache ich das?Wie kann die Anzahl der TXT-Dateien in einem Verzeichnis in PHP gezählt werden?

Danke.

Antwort

0

können Sie diesen PHP-Code verwenden, um die Anzahl von Textdateien in einem Ordner

<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 Below-Code zu erhalten, um TXT-Datei Zahl

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

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

return $ filecount zu finden;

1

Verwendung von PHP DirectoryIterator oder FileSystemIterator:

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

Verwenden Sie zuerst glob() Datei-Listenfeld zu bekommen, dann count() verwenden Array-Länge zu erhalten, die Array-Länge ist die Anzahl der Dateien.

Vereinfachen Code:

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

Dies ist ein sehr einfacher Code, der gut funktioniert. :)

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