解决使用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. 


我只好改用下面的方法来显示

<?
$i
=0;
$handle fopen("message.txt","r");
while(
$buffer fgets($handle,1000000))
{
$message[$i] = $buffer;
echo 
$i."
"
.$buffer;
$i++;
}
?>

我设定一行的长度为 1M, 我想我的单行数据怎么也不会超过了!!!