(PHP 4, PHP 5)
tempnam — 一意なファイル名を生成する
$dir
, string $prefix
)一意なテンポラリファイル名を、パーミッションを 0600 に設定し、 指定したディレクトリに作成します。 指定したディレクトリが存在しない場合、 tempnam() はシステムのテンポラリディレクトリにあるファイル名を生成し、 その名前を返します。
dir
テンポラリファイルを作成したいディレクトリ。
prefix
作成されるテンポラリファイルのプレフィックス。
注意: Windows では、プレフィックスの最初の 3 文字のみを使用します。
新しいテンポラリファイル名を返し、失敗した場合には FALSE
を返します。
バージョン | 説明 |
---|---|
4.0.6 |
PHP 4.0.6 より前では、関数 tempnam()
の動作はシステムに依存していました。Windows において TMP 環境変数は
dir パラメータを上書きします。Linux においては、
TMPDIR 環境変数が優先されます。一方 SVR4 においては、
指定したディレクトリが存在する場合は、常に dir
パラメータを使用します。疑問がある場合は、tempnam(3)
に関するシステムドキュメントを参照ください。
|
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 を超える数のファイルが存在する場合にも同じことが起こります。