PHPプログラミング

最終更新日:
公開日:

レシピ

ファイル / ディレクトリ

仮ファイルに一時的なデータを保存する

tmpfile関数で仮ファイルを作成し、一時的にデータを保存する方法について解説します。

この記事のポイント

  • 一時的にデータを保存するための場所を作る
  • 仮ファイルはコードが実行終了すると自動的に削除される

目次

仮ファイルを作成する

tmpfile関数を使うと仮ファイルを作成することができます。

コード例

$file_handle = tmpfile();

tmpfile関数を実行すると仮ファイルのファイルポインターリソース(ファイルハンドラーとも言います)を返すので、変数に保持して使用します。
その後は通常ファイル同様に、このファイルポインターリソースを使ってfwrite関数でデータを書き込んだり、fgets関数で1行ずつデータを取り出すことができます。

仮ファイルはあくまで一時的なもので、通常のファイルのようにどこかへ保存されるものではありません。
fclose関数か、コードが終了すると自動的に削除されます。

使用例

仮ファイルを作成し、データの書き込み&読み込みを行う手順は次のようになります。
tmpfile関数を実行した後は、通常のファイルと扱い方は同じです。

コード例

<?php

// 仮ファイルを作成
$file_handle = tmpfile();

// データを書き込む
fwrite( $file_handle, '仮ファイルにテキスト保存する

line1
lien2
line3
line4
line5');

// ポインタを先頭にリセット
rewind($file_handle);

// ファイルデータを1行ずつ読み込んで出力
while( $line = fgets($file_handle) ){
	echo nl2br($line);	
}

// 仮ファイル削除
fclose($file_handle);

最初にtmpfile関数で仮ファイルを作成し、$file_handleにファイルポインターリソースを保持します。

次にfwrite関数でテキストデータを書き込み、内容を出力するためにrewind関数でポインタを先頭にリセット。
続くwhile文の中でfgets関数を使って1行ずつデータを取り出して出力します。

最後にfclose関数で仮ファイルを削除して終了です。