ファイル全体を読み込むためのfgetc()関数

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、最後の反復から値を。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=33681&siteId=1