一意なファイル名を持つファイルを作成する

# tempnam

(PHP 4, PHP 5, PHP 7, PHP 8)

tempnam — 一意なファイル名を持つファイルを作成する

### 説明

function tempnam(string `$directory`, string `$prefix`): string|false

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

### パラメータ

`directory`

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

`prefix`

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

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

### 戻り値

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

### 変更履歴

バージョン | 説明
--- | ---
8.4.0 | tempnam() が作成するファイルの名前は、 以前より13バイト長くなりました。 総合的な長さは引き続きプラットフォーム依存です。
7.1.0 | tempnam() は、 システムのテンポラリディレクトリにフォールバックした場合に notice を発行するようになりました。

### 例

例1 tempnam() の例

    <?php
    $tmpfname = tempnam("/tmp", "FOO");

    $handle = fopen($tmpfname, "w");
    fwrite($handle, "writing to tempfile");
    fclose($handle);

    // ここで何か行う

    unlink($tmpfname);
    ?>

### 注意

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

### 参考

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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open