为了账号安全,请及时绑定邮箱和手机立即绑定

使用cURL在PHP中发布文件字符串?

使用cURL在PHP中发布文件字符串?

PHP
MM们 2019-11-28 12:44:11
我想知道是否有可能在文件只是字符串的情况下发布文件以及其他表单数据?我知道您可以通过在文件路径前面加上“ @”前缀来发布文件系统中已经存在的文件。但是,我想绕过创建一个临时文件,而仅将该文件作为字符串发送,但是我不确定如何在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)

);


查看完整回答
反对 回复 2019-11-28
?
慕勒3428872

TA贡献1848条经验 获得超5个赞

$postFields在第一个末尾填充时,foreach您会丢失,$data .= $content . "\r\n";否则不会发送字段内容。

查看完整回答
反对 回复 2019-11-28
  • 3 回答
  • 0 关注
  • 319 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信