ホームページ >バックエンド開発 >PHPチュートリアル >fopen() がファイルの内容を書き込むときにクロスシステム改行を行う方法
fopen() がファイルの内容を書き込むときにクロスシステム改行を行うにはどうすればよいですか?
私は初心者で、fopen() を使用してコンテンツをファイルに書き込みたいと考えています。
php 公式 Web サイトの手順は次のとおりです:
----------------------------- -- ------------------------
注:
オペレーティング システム ファミリが異なると、行末規則も異なります。テキスト ファイルに書き込み、新しい行を挿入する場合は、オペレーティング システムに準拠した行末を使用する必要があります。 Unix ベースのシステムでは行終了文字として n が使用され、Windows ベースのシステムでは行終了文字として rn が使用され、Macintosh ベースのシステムでは行終了文字として r が使用されます。
ファイルが間違った行末で書かれている場合、他のアプリケーションがそれらのファイルを開いたときに異常な動作をする可能性があります。
Windows には、n を rn に透過的に変換するためのテキスト変換タグ ('t') が用意されています。あるいは、「b」を使用してバイナリ モードを強制し、データが変換されないようにすることもできます。これらのフラグを使用するには、モード引数の最後の文字として「b」または「t」を使用します。
デフォルトの変換モードは使用する SAPI および PHP のバージョンによって異なるため、移植性を確保するために、常に適切なタグを指定することをお勧めします。プレーン テキスト ファイルを操作し、スクリプト内で行終端文字として n を使用しているが、そのファイルをメモ帳などの他のアプリケーションでも読み取れるようにしたい場合は、モードで 't' を使用します。それ以外の場合はすべて「b」を使用します。
バイナリ ファイルを操作するときに「b」フラグを指定しないと、破損したイメージ ファイルや rn 文字に関する奇妙な問題など、いくつかの奇妙な問題が発生する可能性があります。
----------------------------------------------- --- ------------
注:
移植性の理由から、fopen() でファイルを開くときは常に「b」フラグを使用することを強くお勧めします。
----------------------------------------------- --- ------------
注:
もう一度言いますが、移植性の理由から、「t」モードに依存するコードを次のように書き直すことを強くお勧めします。正しい行終端文字を使用し、「b」モードに変更してください。
----------------------------------------------- --- ----------
上記は公式サイトに記載の注意事項です。
[b] わかりませんが、t モードは推奨されていませんが、b モードでも Windows のメモ帳は改行を認識できません。 。 。 [/b]
アドバイスをお願いします!
-----解決策---------
$file = fopen("test.txt","wb"); echo fwrite($file,"Hello World. Testing!rn名前はFFFFです"); fclose($file); <br><font color="#e78608">------解決策------------------</font><br> <br>PHP_EOL <div class="clear"></div>