2013-05-06 36 views
0

的目錄目前,我得到了下面的代碼計算所有線路中所有的HTML,CSS,JS和PHP文件

glob(*.php) 
foreach ($files as $files..) 
$content = file_get_contents($file); 
$cnt=count(explode("\n", $content)) 
$linecount += $cnt; 
echo $linecount 

我有一個文件夾的.css或.html,.js文件和PHP文件中它。現在我想要統計我在那裏存儲的所有代碼行。我怎樣才能做到這一點?

我發現這裏How to count all the lines of code in a directory recursively?

這一個,但它並沒有真正幫助我,因爲它似乎是你做了什麼,他們在一個Linux shell一樣。有任何想法嗎?

回答

0

這個腳本計算在指定目錄下的所有文件中的所有行:

$count = 0; 
$handle = opendir('./'); //Path to your directory 

while (false !== ($file = readdir($handle))) { 
    if($file != '.' && $file != '..' && !is_dir($file)) { 
     $content = file($file); 
     $count = $count + count($content); 
    } 
} 

echo 'Lines '.$count; 
0

好看到像include.php文件夾的名稱,以便當前的方法是行不通的。你還需要檢查子文件夾,所以我會建議你使用RecursiveRegexIterator

$dir = new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS); 
$files = new RecursiveIteratorIterator(
     new RecursiveFileFilterIterator($dir, "/\.(css|html|js|php)$/")); 

echo iterator_count($files); 

類用於

class RecursiveFileFilterIterator extends RecursiveRegexIterator { 
    public function accept() { 
     return parent::accept() && is_file($this->current()); 
    } 
}