91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP中怎么創建臨時文件

發布時間:2021-10-15 10:45:16 來源:億速云 閱讀:156 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“PHP中怎么創建臨時文件”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“PHP中怎么創建臨時文件”這篇文章吧。

獲取 PHP 的默認臨時創建文件目錄

學習過 Linux 操作系統的都會知道有一個目錄是 /tmp 目錄( Windows 中一般是:C:\Windows\Temp\ ),它是用來存放系統的一些臨時文件的,所以,這個目錄也叫做臨時文件目錄。很多軟件都會將一些臨時保存的文件放在這個目錄里面,包括一些緩存、一些臨時生成的腳本之類的。PHP 在默認情況下也會將臨時文件目錄指向這個目錄,包括 SESSION 文件之類的臨時文件都會保存在這里。它可以在 php.ini 文件中通過 sys_tmp_dir 進行設置。

當然,在動態運行的 PHP 程序中,我們也可以通過一個函數來獲得當前的臨時文件目錄。

print_r(sys_get_temp_dir());
// /tmp

創建一個臨時文件

既然有了臨時文件目錄,PHP 當然也貼心的為我們準備好了直接去創建一個臨時文件的函數。

$tmpFile = tmpfile();
fwrite($tmpFile, "I'm tmp file.");
// ll /tmp
// vim phpbnAjbE

sleep(10);

fclose($tmpFile);
// ll /tmp

tmpfile() 函數就是用來創建這個臨時文件的,我們不需要為它指定文件名,也不需要為它指定路徑,同時,它創建的文件是 w+ 類型的,也就是直接就是可讀寫的文件。當調用 fclose() 的時候,這個臨時文件將自動刪除掉。手冊中說使用這個函數創建的文件在腳本運行結束后也會自動刪除,但是在測試后發現腳本結束時文件并不會刪除。

在調用函數并寫入內容后,我們暫停了十秒。其實就是為了去 /tmp 目錄里看一下這個文件是否生成成功。根據文件創建的時間,我們找到了生成的這個對應的文件。然后在十秒后執行了 fclose() 之后,再次到目錄查看,就會發現文件已經被自動刪除了。

根據目錄狀態創建一個唯一名稱的臨時文件

最后,PHP 還為我們提供了一個非常人性化的創建臨時文件的函數。

$tmpFile = tempnam('/Users/zhangyue/MyDoc/博客文章/dev-blog/php/202006/source', 'testtmp');
$f = fopen($tmpFile, "w");
fwrite($f, "I'm tmp file.");
// ll /tmp
// vim testtmpH7bptZ

// etc目錄沒有寫權限
$tmpFile = tempnam('/etc', 'testtmp');
$f = fopen($tmpFile, "w");
fwrite($f, "I'm tmp file.");
// ll /etc
// ll /tmp
// vim testtmpTUNucM

tempnam() 函數,它會根據目錄的狀態去生成一個唯一名稱的臨時文件。什么叫根據目錄狀態呢?從上面的代碼注釋中可以看出,第二段的 /etc 目錄一般是 root 權限的目錄,沒有 root 帳戶權限的話我們是無法創建修改文件的。如果是這種沒有權限的目錄,或者是壓根就不存在的目錄,tempnam() 函數就會將文件生成到臨時文件目錄中去。如果目錄是正常存在并且可以寫的,就像第一段代碼一樣,文件就會正常在這個目錄進行創建。

tempnam() 函數的第二個參數是指定生成文件名的前綴。tmpfile() 函數是無法指定文件名的,而這個函數則是可以給文件名一個固定的前綴,并保證前綴之后自動生成的文件名部分是唯一的。

以上是“PHP中怎么創建臨時文件”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

玉屏| 门头沟区| 曲阜市| 平舆县| 八宿县| 玉环县| 饶河县| 凌源市| 墨江| 临邑县| 晋中市| 石河子市| 钦州市| 隆尧县| 怀化市| 徐汇区| 蓬溪县| 深泽县| 沭阳县| 楚雄市| 和林格尔县| 武平县| 安乡县| 同仁县| 永善县| 沙雅县| 阿克陶县| 香河县| 寿阳县| 津南区| 孟连| 葵青区| 中方县| 开封县| 和顺县| 共和县| 和政县| 仁寿县| 潮州市| 湘潭市| 临沧市|