# tempnam

(PHP 4, PHP 5, PHP 7)

tempnam — 建立一个具有唯一文件名的文件

### 说明

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

在指定目录中建立一个具有唯一文件名的文件。如果该目录不存在，tempnam() 会在系统临时目录中生成一个文件，并返回其文件名。

### 参数

`dir`

  The directory where the temporary filename will be created.

`prefix`

  产生临时文件的前缀。

  > Note: Windows uses only the first three characters of prefix.

### 返回值

返回新的临时文件名，出错返回 `FALSE`。

### 更新日志

版本 | 说明
--- | ---
4.0.6 | 在 PHP 4.0.6 之前，tempnam() 函数的行为取决于系统。在 Windows 下 TMP 环境变量会越过 `dir` 参数，在 Linux 下 TMPDIR 环境变量优先，而在 SVR4 下总是使用 `dir` 参数，如果其指向的目录存在的话。如果有疑问请参考系统文档中的 tempnam(3) 函数。
4.0.3 | 本函数的行为在 4.0.3 版中改变了。也会建立一个临时文件以避免竞争情形，即有可能会在产生出作为文件名的字符串与脚本真正建立该文件之间会在文件系统中存在同名文件。注意，如果不再需要该文件则要删除此文件，不会自动删除的。

### 范例

Example #1 tempnam() 例子

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

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

    // do here something

    unlink($tmpfname);
    ?>

### 注释

> Note: 如果 PHP 不能在指定的 `dir` 参数中创建文件，则退回到系统默认值。 在 NTFS 文件系统中，同样的情况也发生在 `dir` 中文件数超过 65534 个的时候。

### 参见

- tmpfile() - 建立一个临时文件
- sys_get_temp_dir() - 返回用于临时文件的目录
- unlink() - 删除文件