在PHP curl中发布文件

时间:2018-09-02 13:34:11

标签: php curl

由于此REST API使用了多格式,因此我试图使用curl发布文件。

这是我目前拥有的。

    $curlFile = new \CURLFile("shirt.png");
    $data = array
    (
        "apikey" => $key,
        "isTgaUploadEnabled" => "True",
        "onVerificationPage" => "False",
        "file" => $curlFile,
    );

    curl_setopt_array($curl, array(
        CURLOPT_HEADER => TRUE,
        CURLOPT_POST => TRUE,
        CURLOPT_RETURNTRANSFER => TRUE,
        CURLOPT_POSTFIELDS => $data,
    ));

使用CURLFile类不起作用,关于我应该做什么的建议?

1 个答案:

答案 0 :(得分:0)

您正在PHP5.5及更高版本上寻找此

$file = new CURLFile('cats.jpg','image/jpeg','test_name');
$args= array('test_file' => $file);

或者在PHP5.4或更低版本上使用:

$args['file'] = '@/path/to/file';

别忘了设置适当的标志:

curl_setopt($curl_handle, CURLOPT_POST, 1);
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $args);

https://wiki.php.net/rfc/curl-file-upload

http://php.net/manual/en/class.curlfile.php

http://php.net/manual/en/curlfile.construct.php