43

在我这样做之后:

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

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

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

4

2 回答 2

73

tmpfile返回一个可流式传输的文件指针。

要获取相应的路径,请向流询问其元数据

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

这种方法的好处tmpfile?PHP 会自动删除$path超出$file范围的时间。使用tempnam,您必须手动删除创建的文件。

于 2016-02-17T18:57:53.963 回答
32
$path = tempnam(sys_get_temp_dir(), 'prefix');

请参阅此示例

于 2013-05-10T16:51:34.830 回答