今日の人気記事

  1. 10進数 ⇔ 2進数変換 - decbin()、bindec()

ユニークなファイル名の一時ファイルを作成 - 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"

ファイル の人気記事

  1. ファイル名を変更 - ファイルを移動 - rename()
  2. パスからファイル名を取得 - basename()

関連記事(一部広告含む)