ファイルシステム 関数
PHP Manual

tempnam

(PHP 4, PHP 5)

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

説明

string tempnam ( string $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 を超える数のファイルが存在する場合にも同じことが起こります。

参考


ファイルシステム 関数
PHP Manual