tempnam

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

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

説明

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

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

パラメータ

directory

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

prefix

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

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

戻り値

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

変更履歴

バージョン 説明
7.1.0 tempnam() は、 システムのテンポラリディレクトリにフォールバックした場合に 警告を生成するようになりました。

例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() - ファイルを削除する

関連キーワード:  生成, ディレクトリ, tempnam, 作成, directory, プレフィックス, パス, 注意, string, フォールバック