在php curl中发布文件

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (94)

我正在尝试使用curl发布一个文件,因为这个rest api使用了multiform。

这是我现在拥有的。

    $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类,对我应该做什么的任何建议?

提问于
用户回答回答于

您正在寻找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

扫码关注云+社区

领取腾讯云代金券