我試圖打開一個文件,但文件輸出不正確,因爲輸出是文件中數據的一半。我不知道解決方案來解決這個問題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))){'以返回非布爾值的可能性評估爲假 –