从shell_exec返回不正确

时间:2011-10-26 18:28:10

标签: php bash exec

我正在试图弄清楚我将要迭代的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)的脚本中尝试了这个。

1 个答案:

答案 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”行结尾的文件。