關于使用 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
|