【PHPマニュアル】fprintfとvfprintfの説明と使い方

【PHPマニュアル】fprintfとvfprintfの説明と使い方
この記事は約4分で読めます。

どうもタスです。

今回は「fprintf」と「vfprintf」についてお伝えしたいと思います。

フォーマット済み文字列の出力やフォーマットのみを行い返却する関数は以前お伝えしたとおりですが、今回はストリームへ書き込む、いわばファイル出力するための文字列フォーマット関数になります。

printfと合わせて学習することで、ファイル出力にも対応しましょう。

 

概要説明

【PHPマニュアル】説明と使い方

fprintf:フォーマットされた文字列をストリームに書き込む

vfprintf:フォーマットされた文字列をストリームに書き込む

 

ストリームとは?

ここで、そもそもストリームとは何ぞや?について突っ込んでみます。

ストリームとは、

連続したデータの流れや、データの送受信や処理を連続的に行うことなどを意味する。 – e-Word –

としており、対象はメモリやファイルなど様々だが、それらを抽象的に扱えるようにしたものと定義されています。

 

PHPでいうストリームとは、以下の記事が分かりやすかったので引用します。

ファイルなどのリソースに実際にアクセスする方法は、ファイルが保管されている場所とファイルを保管する方法によって決まります。ローカルにあるファイルにアクセスする方法と、リモート・サーバー上にあるファイルに HTTP や FTP によってアクセスする方法は、まったく違います。

幸い、PHP では「ストリーム・ラッパー」を使用できます。たとえどこにあるリソースを呼び出したとしても、PHP で使用可能なラッパーがあれば、そのラッパーが呼び出し方法を見つけ出してくれます。

 

要は、PHPではストリームを扱うための関数をラッパーとして用意していますよ。

また、なんなら自作もできますよということなのです。

 

構文説明

【PHPマニュアル】説明と使い方

〈引数〉

resource $handle:fopen()を使用して作成したファイルシステムポインタリソース。

string $format:以下を参照。

〈返り値〉

書き込まれた文字列の長さを返します。

 

〈引数〉

resource $handle:fopen()を使用して作成したファイルシステムポインタリソース。

string $format:fprintfと同様。

〈返り値〉

書き込まれた文字列の長さを返します。

 

詳細説明

【PHPマニュアル】説明と使い方

fprintfとvfprintfの違いは、printfとvprintfの違いと同様、引数の違いです。

fprintfは、カンマ区切りの可変引数なのに対して、vfprintfは配列を渡します。

上記関数により、フォーマット済み関数を直接ストリームに書き込むことができます。

 

コーディング例

【PHPマニュアル】説明と使い方

上記内容をindex.phpとしてWebサーバの公開ディレクトリに置いたので、同階層にtasuLife.txtが作成され、以下の内容が書き込まれています。

@@@@@@@TasuLife
@@@@@@@@@@@Blog

 

スポンサーリンク


Pocket


SNSでもご購読できます。

コメントを残す

*

CAPTCHA


タスlife