(PHP 4, PHP 5, PHP 7, PHP 8)
tempnam — 建立一個(gè)具有唯一文件名的文件
$dir
, string $prefix
): string在指定目錄中建立一個(gè)具有唯一文件名的文件。如果該目錄不存在,tempnam() 會(huì )在系統臨時(shí)目錄中生成一個(gè)文件,并返回其文件名。
dir
The directory where the temporary filename will be created.
prefix
產(chǎn)生臨時(shí)文件的前綴。
注意: Windows uses only the first three characters of prefix.
返回新的臨時(shí)文件名,出錯返回 false
。
版本 | 說(shuō)明 |
---|---|
4.0.6 |
在 PHP 4.0.6 之前,tempnam()
函數的行為取決于系統。在 Windows 下 TMP
環(huán)境變量會(huì )越過(guò) dir
參數,在 Linux 下 TMPDIR
環(huán)境變量?jì)?yōu)先,而在 SVR4 下總是使用 dir
參數,如果其指向的目錄存在的話(huà)。如果有疑問(wèn)請參考系統文檔中的
tempnam(3) 函數。
|
4.0.3 | 本函數的行為在 4.0.3 版中改變了。也會(huì )建立一個(gè)臨時(shí)文件以避免競爭情形,即有可能會(huì )在產(chǎn)生出作為文件名的字符串與腳本真正建立該文件之間會(huì )在文件系統中存在同名文件。注意,如果不再需要該文件則要刪除此文件,不會(huì )自動(dòng)刪除的。 |
示例 #1 tempnam() 例子
<?php
$tmpfname = tempnam("/tmp", "FOO");
$handle = fopen($tmpfname, "w");
fwrite($handle, "writing to tempfile");
fclose($handle);
// do here something
unlink($tmpfname);
?>
注意: 如果 PHP 不能在指定的
dir
參數中創(chuàng )建文件,則退回到系統默認值。 在 NTFS 文件系統中,同樣的情況也發(fā)生在dir
中文件數超過(guò) 65534 個(gè)的時(shí)候。