lovecoding:
私はdo..whileループの場合で)fgetc関数を(使用してファイル全体を読み込むしようとしています。私は、これは推奨されません知っているが、それは動作するはずです。counter.datの内容は、私が何をしwhta知らないが、私は取得していますということですouputを0。なぜ0?
<?php
$f = "counter.dat";
if (!($fp = fopen($f,"r"))) {
die("Can Not Open $f");
}
do {
$one_char = fgetc($fp);
$counter = $one_char;
$counter .= $one_char;
} while($one_char);
fclose($fp);
$counter = (int) $counter;
echo $counter;
?>
Barmar:
あなたは、上書きしている$counter
、あなたがそれに追加する前に、ループを通るたびに。そして、最後の反復に、$one_char
なりますFALSE
、あなたしている設定して$counter = FALSE;
、その整数にリターンを変換します0
。
また、初期化する必要が$counter
先頭に空の文字列に。
ファイルが整数を含んでいないので、あなたは使用しないでください(int) $counter
。ちょうどの値を印刷します$counter
。
このようにそれを実行します。
$counter = "";
while ($one_char = fgetc($fp)) {
$counter .= $one_char;
}
echo $counter;
これは、EOFに到達したときに、それを使用しようとしませんすぐにループを抜けFALSE
、最後の反復から値を。