在 PHP 中建立和獲取 tmpfile 的路徑

Subodh Poudel 2023年1月30日
  1. 在 PHP 中使用 stream_get_meta_data() 函式和 uri 索引建立和獲取 tmpfile 的路徑
  2. 在 PHP 中使用 tempnam()sys_get_temp_dir() 函式建立和獲取 tmpfile 的路徑
在 PHP 中建立和獲取 tmpfile 的路徑

本文將介紹在 PHP 中建立臨時檔案並獲取其完整路徑的方法。

在 PHP 中使用 stream_get_meta_data() 函式和 uri 索引建立和獲取 tmpfile 的路徑

臨時檔案是在程式執行時臨時儲存資訊的檔案。一旦指令碼或程式完成執行,臨時檔案將被刪除或轉移到永久檔案。

我們可以使用 tmpfile() 函式在 PHP 中建立臨時檔案。

該函式建立的臨時檔案具有讀/寫(w+)模式。如果無法建立臨時檔案,則返回 false。

我們可以使用 stream_get_meta_data() 來獲取臨時檔案的路徑。該函式接受一個引數,該引數可以是流或檔案指標。

它從引數接收標頭或後設資料並返回一個陣列。我們可以使用 tmpfile() 函式建立的臨時檔案的檔案指標和 uri 索引返回臨時檔案路徑。

例如,使用 tmpfile() 函式建立一個臨時檔案並將其儲存在 $file 變數中。接下來,使用以 $file 作為引數的 stream_get_meta_data() 函式。

將其分配給 $temp_path 變數。最後,使用 uri 索引顯示變數。

結果,我們可以看到臨時檔案的位置。

$file = tmpfile();
$temp_path = stream_get_meta_data($file);
echo $temp_path['uri'];

輸出:

/tmp/phpQ8Y7V5

在 PHP 中使用 tempnam()sys_get_temp_dir() 函式建立和獲取 tmpfile 的路徑

我們還可以使用 tempnam() 函式在 PHP 中建立一個臨時檔案。使用這個函式,我們可以給檔案一個唯一的名字。

該函式有兩個引數。第一個引數指定要建立臨時檔案的目錄,第二個引數是檔名字首。

我們可以使用 sys_get_temp_dir() 函式作為 tempnam() 函式的第一個引數。sys_get_temp_dir() 函式返回 PHP 儲存臨時檔案的預設目錄。

結果,將在預設目錄中建立一個臨時檔案。我們可以通過使用 echo 顯示 tempnam() 函式來獲取臨時檔案路徑。

例如,建立一個變數 $temp_path 並使用 tempnam() 函式對其進行賦值。將 sys_get_temp_dir() 函式作為函式的第一個引數,並將 php 作為字首。

接下來,使用 echo 函式列印 $temp_path 變數。

因此,列印臨時檔案的路徑。

$temp_path = tempnam(sys_get_temp_dir(), 'php');
echo $temp_path;

輸出:

/tmp/phpujBAL3
作者: Subodh Poudel
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

相關文章 - PHP File