一時保存用フォルダに一意な名称のファイルを作成する。

生存期間の短い一時的なファイルを作成する場合、phpだと以下のようにすると所定の一時ファイル保存用フォルダに一意な名前の付いたファイルを置くことができる。

<?php
$pass = sys_get_temp_dir();
$tmp = tempnam($pass, "SMPL");

file_put_contents($tmp, "This is temp file");
echo $tmp;

まずsys_get_temp_dir()で一時ファイル保存用のフォルダへのパスを取得する。 次に、tempnam()で指定されたパスに一意な名称のファイルを作成する。この関数は第1引数がファイルを作成するパス、第2引数が作成するパスのプレフィックスになっていて、戻り値として作成したファイルへのパスを返す。 上記サンプルではこの一時ファイルに対して文章を書き込み、作成した一時ファイルへのパスを出力するようにしている。

環境によって一時ファイルへのパスは異なっているが、出力されたパスをターミナル等で確認すれば「This is temp file」と書き込まれている。