【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 を返します。