tempnam

在 PHP 4.0.6 之前,tempnam() 函式的行為取決於系統。在 Windows 下 TMP 環境變數會越過 dir 參數,在 Linux 下 TMPDIR 環境變數優先,而在 SVR4 下總是使用 dir 參數,如果其指向的目錄存在的話。如果有疑問請參考系統文檔中的 tempnam(3) 函式。

基本介紹

  • 中文名:tempnam
  • 特徵:函式的行為取決於系統
  • 環境:Windows 下
  • 實質:建立一個具有唯一檔案名稱的檔案
PHP,提示和注釋,例子,UNIX C,

PHP

(PHP 3, PHP 4, PHP 5)
tempnam -- 建立一個具有唯一檔案名稱的檔案
說明
string tempnam ( string dir, string prefix )
在指定目錄中建立一個具有唯一檔案名稱的檔案。如果該目錄不存在,tempnam() 會在系統臨時目錄中生成一個檔案,並返回其臨時檔案名稱。
注: 如果 PHP 不能在指定的 dir 參數中創建檔案,則退回到系統默認值。
返回新的臨時檔案名稱,出錯返回 FALSE。
例子 1. tempnam() 例子
<?php
$tmpfname = tempnam("/tmp", "FOO");
$handle = fopen($tmpfname, "w");
fwrite($handle, "writing to tempfile");
fclose($handle);
// do here something
unlink($tmpfname);
?>
參數:


dir
必需。規定創建臨時檔案的目錄。
prefix
必需。規定檔案名稱的開頭。
返回值:
成功返回:臨時檔案名稱(包含路徑)
失敗返回:false

提示和注釋

注釋:如果 PHP 不能在指定的 dir 參數中創建檔案,則退回到系統默認值。
注釋:本函式的行為在 4.0.3 版中改變了。也會建立一個臨時檔案以避免競爭情形,即有可能會在產生出作為檔案名稱的字元串與腳本真正建立該檔案之間會在檔案系統中存在同名檔案。注意,如果不再需要該檔案則要刪除此檔案,不會自動刪除的。
提示:參見 tmpfile()

例子

<?phpecho tempnam("C:\inetpub\testweb","TMP0");?>
輸出:
C:\inetpub\testweb\TMP1.tmp

UNIX C

char * tempnam (const char *directory, const char *prefix);
Single UNIX Specification為處理臨時檔案定義的XSI擴展函式
依次執行下列四個判斷,直到判斷結果為真,則以此規則為目錄:
1、如果定義了環境變數TMPDIR,則使用其值作為目錄。
2、如果參數directory為非NULL並且存在,則使用其值作為目錄
3、將<stdio.h>中的字元串p_tmpdir用作目錄
4、將本地目錄(通常是/tmp)作為目錄
如果prefix非空,則將其用作檔案名稱頭幾個字元(最多5個)
該函式用malloc函式分配動態存儲區存放路徑名,當不再使用此路徑時會釋放此存儲區

相關詞條

熱門詞條

聯絡我們