一時ファイルを作成する
tempnam関数を利用すると指定したディレクトリに指定したプリフィックスで一時ファイルを作成します。
<?php
$tmpfile = tempnam('/tmp', 'TMP-');
echo $tmpfile . "\n"; // => /tmp/TMP-...
このコードを実行すると /tmp/TMP-geA29F
のような名前のファイルが生成されます。ファイル名は他のファイルと衝突しないように自動的に生成されます。
自動的に消える一時ファイルを作成する
tmpfile
関数を使うことでも一時ファイルが作成できます。
tmpfile
関数で一時ファイルを作成するとそのファイルポインタが返されます。そのファイルポインタを使って一時ファイルに読み書きができます。
ファイルはプログラムが終了したときに、または fclose
が呼ばれた時に自動的に削除されます。
次のコードは tmpfile
関数を使ったサンプルコードです。
<?php
$f = tmpfile();
fwrite($f, "Hello\n");
fseek($f, 0);
$data = fgets($f);
fclose($f);
echo $data;
このコードを実行するとHelloと表示されます。