假设我有一个使用php的tmpfile()函数创建的文件句柄数组,那么可以使用php curl将文件作为附件发送吗?
通常,我会创建一个形式为$postdata[fieldname]='@path_to_file'的关联数组,但是由于我无法确定tmpfile的路径(我只有句柄),所以我不知所措。
动机:我不想单独从磁盘清除这些tmpfiles的内容。我觉得tmpfile行为适合这个目的,但是curl组件使事情复杂化了。
回答后的考虑:jay的回答澄清了这一点,但我发现tmpfile的一个交易破坏者缺点:“清理”行为在进程致命或突然终止的情况下被跳过,因此作为故障保护,手动清除是必要的。我不认为有任何方法可以绕过检查文件系统并确保所有东西都被清理干净的过程,不管tmpfile与否。
最佳答案
退房:http://us.php.net/manual/en/function.stream-get-meta-data.php
您可以执行以下操作:
$t = tmpfile();
$a = stream_get_meta_data($t);
$filename = $a['uri'];
这个问题类似于:Getting filename (or deleting file) using file handle