【发布时间】:2012-06-23 11:25:25
【问题描述】:
要确定我当前使用的文件中的确切行数:
if(exec("wc -l ".escapeshellarg($strFile), $arResult)) {
$arNum = explode(" ", $arResult[0]);
// ...
}
在 Windows 上执行相同操作的最佳方法是什么?
编辑:
另一个问题的尝试:
$file="largefile.txt";
$linecount = 0;
$handle = fopen($file, "r");
while(!feof($handle)){
$line = fgets($handle);
$linecount++;
}
fclose($handle);
echo $linecount;
有没有人用这种方式使用大文件的经验?
除了 PHP 函数之外,有没有使用 Windows 命令 来确定文件大小的方法?
解决方案
我按照 cmets 中接受的答案的建议使用命令 find。
【问题讨论】:
-
目前所有答案都推荐
file()。考虑到这个函数会将整个文件加载到内存中! -
可能是 related 来计算文件中的行数
-
@tradyblix - 不错的收获。我确定这个问题是骗人的,但我找不到它:)
-
感谢您的回答。我在您的链接中找到了答案,请检查我最初发布的编辑。
-
正如代码来自的答案中所述,您可以找到非常大的行(例如二进制文件)。使用第二个 sn-p。
标签: php windows numbers exec lines