他のファイルと重複しない、ユニークな名前のテンポラリファイルを作成するには、tmpfile()関数を使います。tmpfile()関数には引数がありません。書き込み可能なテンポラリファイルが生成され、fopen()関数と同様のファイルハンドルが返されます。以降はこのファイルハンドルを使うことで、各種のファイル操作を行います。このテンポラリファイルはfclose()関数が実行された時、あるいはスクリプトが終了した時に自動的に削除されます。
この例で使われているrewind()関数は、ファイルのポインタを先頭に戻す関数です。fwrite()関数の事項によってポインタは終端に移動しており、そのままの状態から(ファイルを閉じずに)再度先頭からデータを読み込むためには、rewind()関数によってポインタを巻き戻す必要があります。
<?php header("Content-type: text/html; charset=utf-8"); $fp = tmpfile(); $data1 = "1 ブラジル 南米 1630\r\n"; $data2 = "2 イタリア ヨーロッパ 1550\r\n3 アルゼンチン 南米 1472 \r\n"; fwrite($fp, $data1); fwrite($fp, $data2); rewind($fp); while(!feof($fp)){ echo fgets($fp) . "<br>"; } fclose($fp); ?>