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

我想知道是否有可能在文件只是字符串的情况下发布文件以及其他表单数据?


我知道您可以通过在文件路径前面加上“ @”前缀来发布文件系统中已经存在的文件。


但是,我想绕过创建一个临时文件,而仅将该文件作为字符串发送,但是我不确定如何在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'

        )

    );


MM们
浏览 331回答 3
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

$postFields在第一个末尾填充时,foreach您会丢失,$data .= $content . "\r\n";否则不会发送字段内容。
打开App,查看更多内容
随时随地看视频慕课网APP