- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPのfopenのバイナリモードについて)
Windows環境におけるPHPのfopenのバイナリモードとテキストモードの違いとは?
このQ&Aのポイント
- PHPのfopen時のバイナリモードについて質問です。Windows環境で画像ファイルをテキストモードで開いても読み込めるし、新規で書き込める場合、なぜ二つのモードが存在するのでしょうか?
- バイナリモードとテキストモードの違いは改行文字だけではないですか?Linuxではバイナリもテキストも改行文字は¥nとなるのでしょうか?
- PHPのマニュアルでは、バイナリモードが推奨されていますが、Windows環境でテキストモードで扱っても画像ファイルが正しく表示される場合もあります。
- みんなの回答 (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というつながりのコードが存在するのでしょうか? マニュアルに書いてある通り 「互換性の意味から、常に適切なフラグを指定することが推奨」されているわけです