我正在尝试阅读文本文件的内容,但不知道如何告诉PHP在它到达结束时中断。
目前的代码是:
<?php
$file = "campaign1_20_db.txt";
$content = file_get_contents($file);
$string = explode("\n",$content);
$index = 0;
while ($index <= 100):
$index = $index + 1;
endwhile;
?>
如何用依赖于PHP到达文本文件末尾的内容替换100?
答案 0 :(得分:3)
由于你正在使用爆炸,你将拥有一系列线条。但是,您可以简单地:
$strings = file($file);
在没有明显爆炸的情况下为你做同样的事情。然后,您可以在该数组上执行foreach循环:
foreach($strings as $line) {
...
}
遍历每一行。但是,看起来你只是想计算有多少行,所以甚至没有必要使用foreach:
$total_lines = count($strings);
答案 1 :(得分:1)
(我希望你有比复杂计算更复杂的东西,其他人忽略了这个答案)
您可以使用较轻的(在消耗内存方面)算法来迭代文件的行:
$f = fopen('campaign1_20_db.txt');
while ($line = fgets($f)) {
// your code
}
答案 2 :(得分:0)
如果你想看看你是否已经到达文件的末尾,那么你必须使用fopen,fread和feof这种古老的方式。代码就像是
<?php
$file = fopen("file.txt");
while(!feof($file)) {
$content .= fread( $file, 1024 );
}
<强> FEOF 强>
您正在查看的功能称为文件结束。这基本上告诉您已经到达文件的末尾。
<强> FREAD 强>
在fread命令中,您传递文件处理程序(由fopen返回)和必须读取的字节数。最大值取决于您的PHP设置。