检索tmpfile()的路径

时间:2012-06-26 17:13:50

标签: php

...晨间

有没有办法检索由tmpfile()创建的文件的路径?

或者我需要自己使用tempnam()吗?

3 个答案:

答案 0 :(得分:98)

似乎stream_get_meta_data()也有效:

$tmpHandle = tmpfile();
$metaDatas = stream_get_meta_data($tmpHandle);
$tmpFilename = $metaDatas['uri'];
fclose($tmpHandle);

答案 1 :(得分:0)

sys_get_temp_dir()

将返回配置的当前目录以存储tmp文件。

对于生成的文件名,您可以使用tempnam()来使用文件路径,完整的名称,由您/用户输入定义。

http://www.php.net/manual/en/function.sys-get-temp-dir.php

答案 2 :(得分:-1)

喜欢这个

$path = array_search('uri', @array_flip(stream_get_meta_data($GLOBALS[mt_rand()]=tmpfile()))); 
file_put_contents($path, 'hello');