フォルダーのすべてのファイルの合計行数を数えたかっただけです。次のphp関数は、特定のファイルのみの行番号をカウントするのに役立ちます. フォルダーからの合計行数を確認する方法は何だろうと思っています。
$lines = COUNT(FILE($file));
ありがとうございました。!
フォルダーのすべてのファイルの合計行数を数えたかっただけです。次のphp関数は、特定のファイルのみの行番号をカウントするのに役立ちます. フォルダーからの合計行数を確認する方法は何だろうと思っています。
$lines = COUNT(FILE($file));
ありがとうございました。!
ディレクトリを反復処理し、各ファイルをカウントしてすべてを合計することができます。また、コンテンツ全体をメモリにロードする関数を使用してfile()
います。ファイルが非常に大きい場合、phpスクリプトは構成のメモリ制限に達します。
外部コマンドを使用できる場合は、1行の解決策があります。(Windowsを使用している場合は、省略してください。)
$total = system("find $dir_path -type f -exec wc -l {} \; | awk '{total += $1} END{print total}'");
おそらくこのようなもの:
<?php
$line_count = 0;
if ($handle = opendir('some/dir/path')) {
while (false !== ($entry = readdir($handle))) {
if (is_file($entry)) {
$line_count += count(file($entry));
}
}
closedir($handle);
}
var_dump($line_count);
?>
DirectoryIteratorの標準PHPライブラリ(別名SPL)を確認してください。
$dir = new DirectoryIterator('/path/to/dir');
foreach($dir as $file ){
$x += (isImage($file)) ? 1 : 0;
}
(参考までに、iterator_count()と呼ばれる文書化されていない関数がありますが、おそらく今のところそれに依存しないのが最善だと思います。とにかく、。や..のような見えないものを除外する必要があります。)
またはこれを試してください:-
URLを参照してください:-http://www.brightcherry.co.uk/scribbles/php-count-files-in-a-directory/
$directory = "../images/team/harry/";
if (glob($directory . "*.jpg") != false)
{
$filecount = count(glob($directory . "*.jpg"));
echo $filecount;
}
else
{
echo 0;
}
行数を数える非常に基本的な例は、次のようになります。これにより、xdazz の answerと同じ数が得られます。
<?php
$files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator(__DIR__));
$lines = $files = 0;
foreach ($files as $fileinfo) {
if (!$fileinfo->isFile()) {
continue;
}
$files++;
$read = $fileinfo->openFile();
$read->setFlags(SplFileObject::READ_AHEAD);
$lines += iterator_count($read) - 1; // -1 gives the same number as "wc -l"
}
printf("Found %d lines in %d files.", $lines, $files);
こちらもご覧ください