denem.txtというファイルがあり、コンテンツがあります
123456789
123456789
123456789
モード'a+ b'でファイルを開くと、PHPはファイルの末尾へのポインターを配置することになっています。つまり、fgetc関数で文字を取得しようとすると、feofがtrueであるため、Falseが返されます。しかし、私が次のようなコードを使用すると
while (false !== ($char = fgetc($file))) {
echo "$char\n";
}
1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 789を取得します。-> rewind()を使用したことがなく、ポインタがファイルの最後にある必要があるため、これは奇妙なことです。つまり、fgetcはFalseを返す必要があります。ftellはint0を返します。これは、ポインタがファイルの先頭にあることを意味します。ただし、ポインタの現在の位置を使用するfwriteを使用してファイルに何かを書き込もうとすると、ftellが私たちに嘘をつかない場合は、ファイルの先頭に書き込むことになっています。しかし、fwriteを使用すると、何が起こるかを推測すると、ファイルの最後に書き込まれ、ファイルは次のようになります。
123456789
123456789
123456789Test
これについて何か考えがありますか?