用PHP函式tempnam建立乙個具有唯一

2021-06-18 19:26:31 字數 1274 閱讀 6867

tempnam建立帶有唯一的檔名

在指定的目錄中建立乙個具有唯一檔名的檔案的訪問許可權為 0600 ,如果該目錄不存在,則tempnam()可能會在系統的臨時目錄下生成乙個檔案,並返回該名稱.

tempnam()函式可以實現建立臨時檔案,經常發現在處理一些業務邏輯過程中,可能需要把一些資料臨時儲存在臨時檔案中,然後讀取臨時檔案寫入臨時資料,業務執行完成就刪除臨時檔案,比如常見的郵箱匯入功能等。

一,函式原型

string tempnam ( string dir, string prefix )

引數

dir將建立的臨時目錄,檔名

字首 生成的臨時檔名的字首.

注:windows 使用只將前三個字元的字首.

返回值 返回乙個代表新臨時檔名,或者在失敗時返回 false .

二,版本相容

php 3, php 4, php 5

三,函式的基礎用法與例項

$cookiefile=tempnam('./temp','tmp');

在指定目錄下建立臨時檔案,如果找不到指定的目錄就會在系統的臨時檔案中建立檔案,

c:\documents and settings\administrator\local settings\temp

後面的是指定檔案開頭的字母,windows下只支援到3位,多位也只取3位。

1,指定目錄建立臨時檔案

<?php

$tmpfname = tempnam("data", "liuhui");

?>

說明,在data目錄下建立乙個臨時檔案,臨時檔案的檔名字首帶有liuhui字串。

2,建立臨時檔案儲存臨時資料,處理後刪除

<?php

$tmpfname = tempnam("data", "liuhui");

$handle = fopen($tmpfname, "w");

fwrite($handle, "tmp strings for test");

fclose($handle);

// 處理的業務

unlink($tmpfname);//刪除檔案

?>

說明,建立臨時檔案後,讀取臨時檔案並寫入字元,然後經過業務處理,刪除臨時檔案。

3,注意事項

PHP陣列建立函式

array 新建乙個陣列。如果不指定鍵名,則使用數字索引。如果相同的鍵名出現兩次則後面的值覆蓋之前的值,如果明確指定了之前沒有出現過的數字索引的值,那麼後面的數字索引在此基礎上生成。compact 建立乙個包括變數名和它們的值的陣列,與extract正好相反。array combine 建立乙個陣列...

用PHP函式解決SQL injection

sql injection問題在asp上可是鬧得沸沸揚揚 當然還有不少國內外著名的php程式 遇難 至於sql injection的詳情,網上的文章太多了,在此就不作介紹。如果你 空間的php.ini檔案裡的magic quotes gpc設成了off,那麼php就不會在敏感字元前加上反斜槓 由於表...

php 新建 mysql使用者 Mysql建立使用者

1.新建使用者。登入mysql mysql u root p 密碼 建立使用者 mysql insert into mysql.user host,user,password values localhost phplamp password 1234 重新整理系統許可權表 mysql flush ...