在 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