0

我尝试打开一个文件,但文件的输出不正确,因为输出是文件中数据的一半。我不知道解决此问题的解决方案

  <?php
    $handle = fopen("data/weather.arff", "r");
            while ($buffer = fgetc($handle)) {
                $result .= $buffer;
            }
    echo $result;
  ?>
4

2 回答 2

1

while ($buffer = fgetc($handle)) {如果您获得 NULL 字符或数字零,则可能评估为 false。为避免这种情况,请使用严格的类型比较,while (($char = fgetc($fp)) !== false) {以确保您不会将这些其他字符评估为假。

于 2013-05-25T22:45:28.757 回答
0

我不知道为什么我不能发表评论。(可能缺乏声誉)。你用过“b”二进制模式吗?!
像这样:

<?php
$handle = fopen("http://www.example.com/", "rb");
$contents = '';
while (!feof($handle)) {
  $contents .= fread($handle, 8192);
}
fclose($handle);
?>

函数.fread

于 2013-05-25T21:02:49.310 回答