【PHP8.x】fputs関数の使い方

作成日: 更新日:

fputs関数は、指定されたファイルポインタに文字列データを書き込むことを実行する関数です。この関数は、すでにfopen()関数などによって書き込み用に開かれているファイルリソースに対し、任意の文字列データを書き込む際に使用されます。例えば、プログラムの実行ログをファイルに出力したり、処理結果をファイルとして保存したりする場面などで利用されます。

具体的には、第一引数に書き込み先のファイルポインタ($handle)を、第二引数にファイルに書き込みたい文字列データ($string)を指定します。オプションとして第三引数に書き込む最大バイト数($length)を指定することも可能です。$lengthを指定した場合、$stringの先頭からそのバイト数までがファイルに書き込まれるか、$stringの終端に達するまでが書き込まれます。

処理が成功した場合、fputs関数は実際にファイルに書き込まれたバイト数を整数値で返します。何らかの理由で書き込みに失敗した場合は、falseを返します。この関数はバイナリセーフであり、改行コードや特殊文字など、どのような内容の文字列でも安全にファイルに書き込むことができます。

PHPにおいてfputs関数はfwrite関数のエイリアス(別名)として提供されており、機能は完全に同一です。そのため、通常はfwrite関数が使われることが多いですが、fputs関数も同様に利用できます。ファイルだけでなく、ネットワークソケットやプロセス間のパイプなど、PHPのストリーム機能が利用できる様々なリソースへの書き込みにも適用可能です。

基本的な使い方

構文(syntax)

<?php
$fileHandle = fopen('output.txt', 'w');
if ($fileHandle) {
    fputs($fileHandle, "This is a line written by fputs.\n");
    fclose($fileHandle);
}

引数(parameters)

resource $stream, string $data, ?int $length = null

  • resource $stream: 書き込み対象のファイルポインタまたはストリームリソース
  • string $data: 書き込むデータ
  • ?int $length = null: 書き込むデータの最大バイト数(省略時は$dataの全バイト数)

戻り値(return)

int|false

書き込みに成功したバイト数を整数で返します。エラーが発生した場合は false を返します。

【PHP8.x】fputs関数の使い方 | いっしー@Webエンジニア