(PHP 4, PHP 5, PHP 7, PHP 8)
tempnam — 建立一個(gè)具有唯一文件名的文件
$dir
, string $prefix
): string在指定目錄中建立一個(gè)具有唯一文件名的文件。如果該目錄不存在,tempnam() 會(huì)在系統(tǒng)臨時(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í)文件名,出錯(cuò)返回 false
。
版本 | 說(shuō)明 |
---|---|
4.0.6 |
在 PHP 4.0.6 之前,tempnam()
函數(shù)的行為取決于系統(tǒng)。在 Windows 下 TMP
環(huán)境變量會(huì)越過(guò) dir
參數(shù),在 Linux 下 TMPDIR
環(huán)境變量?jī)?yōu)先,而在 SVR4 下總是使用 dir
參數(shù),如果其指向的目錄存在的話。如果有疑問(wèn)請(qǐng)參考系統(tǒng)文檔中的
tempnam(3) 函數(shù)。
|
4.0.3 | 本函數(shù)的行為在 4.0.3 版中改變了。也會(huì)建立一個(gè)臨時(shí)文件以避免競(jìng)爭(zhēng)情形,即有可能會(huì)在產(chǎn)生出作為文件名的字符串與腳本真正建立該文件之間會(huì)在文件系統(tǒng)中存在同名文件。注意,如果不再需要該文件則要?jiǎng)h除此文件,不會(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
參數(shù)中創(chuàng)建文件,則退回到系統(tǒng)默認(rèn)值。 在 NTFS 文件系統(tǒng)中,同樣的情況也發(fā)生在dir
中文件數(shù)超過(guò) 65534 個(gè)的時(shí)候。