我想知道是否有可能在文件只是字符串的情况下发布文件以及其他表单数据?我知道您可以通过在文件路径前面加上“ @”前缀来发布文件系统中已经存在的文件。但是,我想绕过创建一个临时文件,而仅将该文件作为字符串发送,但是我不确定如何在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' ) );
3 回答
白板的微信
TA贡献1883条经验 获得超3个赞
php可以访问一个临时位置“ php:// memory”,这实际上使您尝试执行的操作相当容易。
$fh = fopen('php://memory','rw');
fwrite( $fh, $content);
rewind($fh);
$options = array(
CURLOPT_RETURNTRANSFER => true
,CURLOPT_SSL_VERIFYPEER => false
,CURLOPT_SSL_VERIFYHOST => 1
,CURLOPT_HTTPHEADER => array(
'Content-type: multipart/form-data'
)
,CURLOPT_INFILE => $fh
,CURLOPT_INFILESIZE => strlen($content)
);
慕勒3428872
TA贡献1848条经验 获得超6个赞
$postFields在第一个末尾填充时,foreach您会丢失,$data .= $content . "\r\n";否则不会发送字段内容。
- 3 回答
- 0 关注
- 330 浏览
添加回答
举报
0/150
提交
取消