我试图打开一个文件,但文件输出不正确,因为输出是文件中数据的一半。我不知道解决方案来解决这个问题PHP fopen()工作不正确
<?php
$handle = fopen("data/weather.arff", "r");
while ($buffer = fgetc($handle)) {
$result .= $buffer;
}
echo $result;
?>
我试图打开一个文件,但文件输出不正确,因为输出是文件中数据的一半。我不知道解决方案来解决这个问题PHP fopen()工作不正确
<?php
$handle = fopen("data/weather.arff", "r");
while ($buffer = fgetc($handle)) {
$result .= $buffer;
}
echo $result;
?>
我不知道为什么我不能评论(也许缺乏声誉)。你用过“b”二进制模式吗?
像这样:
<?php
$handle = fopen("http://www.example.com/", "rb");
$contents = '';
while (!feof($handle)) {
$contents .= fread($handle, 8192);
}
fclose($handle);
?>
while ($buffer = fgetc($handle)) {
如果你得到一个NULL字符或数字为零可以评估为假。为了避免这种情况,请使用严格类型比较(如while (($char = fgetc($fp)) !== false) {
),以确保您不会将这些其他字符评估为false。
'weather.arff'是什么样的? –
为什么不使用[file_get_contents()](http://php.net/manual/en/function.file-get-contents.php)?另外,为什么在开始和结束标记中有空格 –
另外,考虑编写你的循环条件,如:while(false!==($ char = fgetc($ fp))){'以返回非布尔值的可能性评估为假 –