php - 我可以使用通过 PHP tmpfile 创建的文件句柄进行 CURL POST 吗?

标签 php curl temporary-files

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

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

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

回答后考虑:Jay 的回答澄清了这一点,但我遇到了 tmpfile 的一个破坏交易的缺点:在发生致命或突然终止过程时跳过“清理”行为, 因此需要手动清除作为故障保险。我认为没有任何方法可以规避遍历文件系统并确保清理所有内容(无论是否为 tmpfile)的过程。

最佳答案

checkout :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

关于php - 我可以使用通过 PHP tmpfile 创建的文件句柄进行 CURL POST 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14734828/

相关文章:

php - 执行 SOAP 调用的工作进程生成无穷无尽的 CLOSE_WAIT 文件描述符

java - 如何删除fileupload struts2中的.tmp文件

python - 在 python 中使用 "temporary files"文件夹

php - 扩展 mysqli_result - 它使用 store_result() 还是 use_result()

php - 如果 Post 值不为空则更新数据库

PHP XML DOM 未捕获异常 'DOMException',消息为 'Wrong Document Error'

python - 在 Python 中获取服务器/服务器名称指示

python - JSON解码错误: Expecting value: line 1 column 1 (char 0)

Perl LWP :UserAgent how to I add headers?

c# - 如何使用默认浏览器打开 HTML 文件并在用户查看后将其删除?