关于使用 file() 读入整个文件时出现的异常断行错误!
我现在本机使用 php 4.03pl1 在对文本数据文件操作时使用 file() 来读入整个文件,然后显示,代码如下:
<?
$message = file("message.txt");
$i=0;
for($i=0;$i<count($message);$i++)
{
echo $i."
".$message;
$i++;
}
?>
在我的机器上面完全正常,但是我上传到服务器上时发现,本来一行的数据被显示为2行,本来一共10行数据,结果显示为15行!结果发现,在某些版本的 php 里面(小于php4.0.0),这种方法的字符串不能超过 8190 个字符,我在 php.net 的关于 file()的用于反馈里也找到了同样的解释,英文原文如下:
In PHP 4.0.0 and lower, array elements are never longer than 8190 characters. Longer lines are split. This limitation was removed in PHP 4.0.1
……