How many lines in a file with count always returns 1
我是非常新的PHP,我想知道我的文件中有多少行。 我目前正在使用我在网上找到的一些代码。
1 2
| $file ="filename";
$lines = count(file($file)); |
返回1。 而且还有更多的线。 任何见解? 它与新行字符有关吗? 我做了一个$fh = file($file); split('
', $fh);,其数量仍然是1 ....所以我不
-
可能重复:stackoverflow.com/questions/2162497/…
-
你在做什么应该工作 - 当你print_r(file($file))时会发生什么?输出有多少元素?它是否包含您的所有文件?另外,你在做什么平台?这不是OSX的任何机会吗?
-
你确定该文件有多行吗?
-
返回0 ...我认为它是空的.....也不是我不在osx上。我在ubuntu上
-
该文件非常大,肯定有超过1行。
-
听起来你实际上没有设法打开你的文件,你确定路径在你的脚本中使用的上下文中是否有意义?尝试和print(getcwd())并确保您在您认为的目录中工作。另外var_dump(is_file($file))和var_dump(is_readable($file))以确保PHP可以查看您的文件并阅读它 - 您可能需要chmod它...
-
谢谢。你实际上是对的我只是解决了问题,并在下面实现了@corum的解决方案,它确实有效。问题是当$file实际上是本地变量时,$file被用作全局变量。菜鸟的错误......有点尴尬。感谢大家
你可以试试这个:
1 2 3 4 5 6 7 8 9 10
| $lines = 0;
if ($fh = fopen('file.txt', 'r')) {
while (!feof($fh)) {
if (fgets($fh)) {
$lines++;
}
}
}
echo $lines; // line count |