一意なファイル名を生成する

# tempnam

(PHP 4, PHP 5, PHP 7)

tempnam — 一意なファイル名を生成する

### 説明

tempnam ( string `$dir` , string `$prefix` ) : string

一意なテンポラリファイル名を、パーミッションを 0600 に設定し、 指定したディレクトリに作成します。 指定したディレクトリが存在しない場合やディレクトリに書き込めない場合は、tempnam() はシステムのテンポラリディレクトリにあるファイル名を生成し、 そのファイルへのフルパスを (名前を含めて) 返します。

### パラメータ

`dir`

  テンポラリファイルを作成したいディレクトリ。

`prefix`

  作成されるテンポラリファイルのプレフィックス。

  > 注意: Windows では、プレフィックスの最初の 3 文字のみを使用します。

### 返り値

新しいテンポラリファイル名 (パスを含む) を返し、失敗した場合には `FALSE` を返します。

### 変更履歴

バージョン | 説明
--- | ---
4.0.3 | この関数の動作は 4.0.3 で変更されました。文字列が生成された時間の間や スクリプトがファイルの作成にとりかかる前にファイルシステムに現れ る可能性がある場合のファイルとの競合を回避するためにもテンポラリ ファイルは作成されます。このファイルは自動的に削除されないため、 不要となった場合にはこのファイルを削除する必要があることに注意してください。

### 例

例1 tempnam() の例

`<?php
$tmpfname = tempnam("/tmp", "FOO");
$handle = fopen($tmpfname, "w");
fwrite($handle, "writing to tempfile");
fclose($handle);
// ここで何か行う
unlink($tmpfname);
?>`

### 注意

> 注意: PHP が指定されたパラメータ `dir` にファイルを生成することができない場合、 システム標準のフォールバックが実行されます。 NTFS では、指定した `dir` に 65534 を超える数のファイルが存在する場合にも同じことが起こります。

### 参考

- tmpfile() - テンポラリファイルを作成する
- sys_get_temp_dir() - 一時ファイル用に使用されるディレクトリのパスを返す
- unlink() - ファイルを削除する