Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】fwriteメソッドの使い方

fwriteメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

fwriteメソッドは、SplFileObjectインスタンスが指し示すファイルに、指定された文字列を書き込むことを実行するメソッドです。このメソッドは、ファイルへのデータ出力操作を安全かつ効率的に行うために利用されます。第一引数には、ファイルに書き込みたいstring型の文字列を指定します。オプションで第二引数としてint型のlengthを指定することができ、このlengthを指定した場合、文字列の先頭から指定されたバイト数だけ、または文字列の終端に達するまでのいずれか短い方がファイルに書き込まれます。lengthが省略された場合は、指定された文字列全体がファイルに書き込まれます。

書き込みが成功すると、このメソッドはファイルに実際に書き込まれたバイト数をint型で返します。もし書き込み中にエラーが発生した場合は、falseを返します。書き込み後、ファイルポインタは書き込まれたデータのバイト数分だけ前方に移動します。このメソッドを使用する際は、対象のSplFileObjectオブジェクトが書き込みモード(例えば、'w', 'a', 'r+', 'w+', 'x+'など)で開かれている必要があります。読み取り専用モードで開かれたファイルに対してこのメソッドを呼び出すと、書き込みが失敗しエラーが発生しますので注意が必要です。ファイルへのデータ保存や更新といった操作において、書き込みの成功を適切に確認し、エラーハンドリングを行うことが重要です。

構文(syntax)

1<?php
2$file = new SplFileObject('output.txt', 'w');
3$bytesWritten = $file->fwrite('This is the content to write.');
4?>

引数(parameters)

string $data, int $length = 0

  • string $data: ファイルに書き込むデータ(文字列)
  • int $length = 0: 書き込むデータのバイト数。0を指定すると、$data の全てのバイト数が書き込まれます。

戻り値(return)

int|false

書き込まれたバイト数を整数で返します。書き込みに失敗した場合は false を返します。