ユニークなファイル名の一時ファイルを作成 - tempnam()
当ページのリンクには広告が含まれています。
プログラミング言語PHPで、ユニークなファイル名の一時ファイルを作成する関数 tempnam()を紹介します。
tempnam関数
string tempnam ( string $dir , string $prefix )
ユニークなファイル名の一時ファイルを指定したディレクトリに作成します。作成した一時ファイルは、パーミッション「0600(-rw-------)」で作成されます。
tmpfile関数とは異なり、作成されたファイルは自動的に削除されないので、不要な場合は手動で削除する必要があります。
引数 $dir 一時ファイルを作成するディレクトリを指定します。 $prefix 一時ファイルのプレフィックス(接頭辞)を指定します。
返り値
ファイル作成が成功したらユニークなファイル名を返します。
失敗した場合には、falseを返します。
サンプルコード
ユニークなファイル名の一時ファイルを作成するサンプルコードです。
tempnam( ディレクトリ, プレフィックス )
<?php /* ユニークなファイル名の一時ファイルを作成 */ var_dump( tempnam("/tmp", "hoge") ); ?>
実行結果です。指定したプレフィックス付きのファイルが生成され、ユニークなファイル名が文字列で返されます。
string(16) "/tmp/hoge-zhwGKV"
lsコマンドで、ファイルを確認してみましょう。パーミッション「0600(-rw-------)」ですね。
$ ls -l /tmp/hoge* -rw------- 1 karuma karuma 0 9月 16 19:22 2013 /tmp/hoge-zhwGKV
サンプルコード - 一時ファイルを作成し、最後に削除
ユニークなファイル名の一時ファイルを作成し、unlink関数で削除するサンプルコードです。
tempnam( ディレクトリ, プレフィックス )
<?php /* ユニークなファイル名の一時ファイルを作成 */ $tmpfile = tempnam("/tmp", "hoge"); var_dump($tmpfile); /* * 一時ファイルを使った処理 * ===== ===== ===== ===== ===== */ /* 一時ファイルを削除 */ unlink($tmpfile); ?>
実行結果です。ユニークなファイル名の一時ファイルを作成し、最後に削除しています。
string(16) "/tmp/hoge-DTR3uA"