我想知道是否有可能发布一个文件-沿着其他表单数据-当文件只是一个字符串时?
我知道你可以通过在文件路径前面加上“@"来发布一个已经在文件系统上的文件。
然而,我想绕过创建一个临时文件,只发送文件作为一个字符串,但我不确定如何在PHP中使用cURL构造请求。
欢呼
$postFields = array(
'otherFields' => 'Yes'
,'filename' => 'my_file.csv'
,'data' => 'comma seperated content'
);
$options = array(
CURLOPT_RETURNTRANSFER => true
,CURLOPT_SSL_VERIFYPEER => false
,CURLOPT_SSL_VERIFYHOST => 1
,CURLOPT_POSTFIELDS => $postFields
,CURLOPT_HTTPHEADER => array(
'Content-type: multipart/form-data'
)
);
字符串
2条答案
按热度按时间xxls0lw81#
应该是可能的:这里有一个表格,通过浏览器发布(省略不相关的字段):
字符串
因此,如果我们自己构建POST主体并设置一两个额外的头,我们应该能够模拟这一点:
型
这样,我们就可以自己做所有的繁重工作,并相信cURL不会把它搞砸。
6pp0gazn2#
PHP可以访问一个临时位置“php://memory”,这实际上使您尝试做的事情相当容易。
字符串