国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

如何在PHP中操作臨時文件

瀏覽:79日期:2022-09-07 13:33:01
目錄獲取 PHP 的默認臨時創(chuàng)建文件目錄創(chuàng)建一個臨時文件根據(jù)目錄狀態(tài)創(chuàng)建一個唯一名稱的臨時文件總結(jié)獲取 PHP 的默認臨時創(chuàng)建文件目錄

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

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

print_r(sys_get_temp_dir());// /tmp創(chuàng)建一個臨時文件

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

$tmpFile = tmpfile();fwrite($tmpFile, 'I’m tmp file.');// ll /tmp// vim phpbnAjbEsleep(10);fclose($tmpFile);// ll /tmp

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

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

根據(jù)目錄狀態(tài)創(chuàng)建一個唯一名稱的臨時文件

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

$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目錄沒有寫權(quán)限$tmpFile = tempnam(’/etc’, ’testtmp’);$f = fopen($tmpFile, 'w');fwrite($f, 'I’m tmp file.');// ll /etc// ll /tmp// vim testtmpTUNucM

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

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

總結(jié)

又發(fā)現(xiàn)了這幾個非常好玩的函數(shù),不管是做為臨時緩存還是進行一些文件的創(chuàng)建,這兩個臨時文件操作的函數(shù)都非常有用。在日后的開發(fā)中我們可以多多嘗試使用這樣的函數(shù),或許它們能夠為我們帶來不少的生產(chǎn)力提升。

測試代碼:

github.com/zhangyue050…

以上就是如何在PHP中操作臨時文件的詳細內(nèi)容,更多關(guān)于PHP操作臨時文件的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 国产在线精品观看 | 狼人久久尹人香蕉尹人 | 欧美三级三级三级爽爽爽 | 99精选视频 | 一区二区三区国产精品 | 亚洲日本在线观看视频 | 大桥未久在线精品视频在线 | 国产精品三级国语在线看 | 成年人在线免费网站 | 国产精品美女免费视频大全 | 99视频免费观看 | 成人午夜在线观看国产 | 韩国一级永久免费观看网址 | 国产精品一区二区四区 | 亚洲碰碰 | 日本特黄特色大片免费看 | 久久亚洲精品中文字幕二区 | 国产v综合v亚洲欧美大另类 | 男女视频免费在线观看 | 日韩久久影院 | 女同日韩互慰互摸在线观看 | 亚洲a在线播放 | 亚洲精品在线观看视频 | 欧美成人视 | 亚洲精品国产综合一线久久 | 成人三级视频在线观看 | 国产精品日产三级在线观看 | 中文字幕在线视频精品 | 欧美毛片日韩一级在线 | 免费国产黄网站在线观看视频 | 一区二区三区高清视频在线观看 | 国产网站免费视频 | 老太婆性杂交毛片 | 综合 欧美 亚洲日本 | 久久久久久九九 | 亚洲天堂中文网 | 欧美成人私人视频88在线观看 | 国产成人a在一区线观看高清 | 精品在线小视频 | 一级一片免费看 | 免费精品99久久国产综合精品 |