3

假设我有一个使用 PHP 的 tmpfile() 函数创建的文件句柄数组,我可以使用 PHP curl 将文件作为附件发送吗?

通常,我会以 $postdata[fieldname] = '@path_to_file' 的形式创建一个关联数组,但由于我无法确定 tmpfile 的路径(我只有句柄),所以我不知所措。

动机:我不想单独从磁盘中清除这些 tmpfiles 的内容。我觉得 tmpfile 行为适合这个目的,但 curl 组件使事情复杂化。

回答后考虑:Jay 的回答澄清了这一点,但我遇到了 tmpfile 的一个破坏交易的缺点:如果发生致命或突然终止进程,则会跳过“清理”行为,因此手动清除将是必要的故障安全。我认为没有任何方法可以规避通过文件系统并确保所有内容都被清理的过程,无论是否有 tmpfile。

4

1 回答 1

1

查看:http ://us.php.net/manual/en/function.stream-get-meta-data.php

您可以执行以下操作:

$t = tmpfile();
$a = stream_get_meta_data($t);

$filename = $a['uri'];

这个问题类似于:使用文件句柄获取文件名(或删除文件)

于 2013-02-06T20:30:25.297 回答