我正在试图弄清楚我将要迭代的CSV中有多少行,以便我可以监控进度。
从命令行,这将给出正确的值:
cat /path/to/CA_MA.csv | perl -p -i -e "s/^M/\n/g" | wc -l
然而,使用shell_exec()
,我什么也得不回来:
trim( shell_exec( "cat /path/to/CA_MA.csv | perl -p -i -e 's/^M/\n/g' | wc -l" ) )
我已尝试过STDOUT和STDERR(... 2>&1
)。我从交互式控制台(php -a
)的脚本中尝试了这个。
答案 0 :(得分:0)
Count lines in a file using PHP
<?php
$file = "somefile.txt";
$lines = count(file($file));
echo "There are $lines lines in $file";
?>
它甚至适用于带有“DOS”行结尾的文件。