PHP创建随机tmp文件并获取其完整路径


PHP create random tmp file and get its full path

After I do:

$temp = tmpfile();
fwrite($temp, "writing to tempfile");

我想获得tmpfile创建的$temp文件的完整路径。

我需要做些什么来获得这些信息?

tmpfile返回一个可流文件指针。

要获得相应的路径,请向流请求其元数据:

$file = tmpfile();
$path = stream_get_meta_data($file)['uri']; // eg: /tmp/phpFx0513a

tmpfile方法的好处?当$file超出作用域时,PHP会自动删除$path。对于tempnam,您必须手动删除创建的文件。

$path = tempnam(sys_get_temp_dir(), 'prefix');