• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPのfopenのバイナリモードについて)

Windows環境におけるPHPのfopenのバイナリモードとテキストモードの違いとは?

このQ&Aのポイント
  • PHPのfopen時のバイナリモードについて質問です。Windows環境で画像ファイルをテキストモードで開いても読み込めるし、新規で書き込める場合、なぜ二つのモードが存在するのでしょうか?
  • バイナリモードとテキストモードの違いは改行文字だけではないですか?Linuxではバイナリもテキストも改行文字は¥nとなるのでしょうか?
  • PHPのマニュアルでは、バイナリモードが推奨されていますが、Windows環境でテキストモードで扱っても画像ファイルが正しく表示される場合もあります。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

Windows以外のOSでは、バイナリモードというのはなく、"wb" "rb" も "w" "r" も同じ動作です。Windowsとのソース互換性のため、"b" をつけてもエラーになりません。 Windowsのバイナリモードはそのままファイルを読み込む/書き込む。テキストモードは、"\r\n" を "\n" に変換しながら読み込み、"\n" を "\r\n" に変換しながら書き込む。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>画像ファイルをバイナリではなくテキストモードで開いて中身のデータを読み込ん その画像ファイルの中には\r\nというつながりのコードが存在するのでしょうか? マニュアルに書いてある通り 「互換性の意味から、常に適切なフラグを指定することが推奨」されているわけです