PHP curl for PUT请求将视频文件发送到vimeo

时间:2013-12-06 05:04:52

标签: php curl vimeo-api

要将视频上传到vimeo,我们必须使用包含二进制数据的放置请求,如document。我正在尝试从php curl lib发送放置请求

我的代码如下:

$params = array_merge($params, array(
            'client_id' => $this->_consumer_key,
            'file_data'       => '@'.$file_path // don't include the file in the signature
        ));
$file_path ="/a.mp4";
$fp = fopen($file_path, 'r');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $endpoint);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 86400); // 1 Day Timeout
curl_setopt($ch, CURLOPT_INFILE, $fp);
curl_setopt($ch, CURLOPT_PUT, true);
curl_setopt($ch, CURLOPT_INFILESIZE, filesize($file_path));
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
$rsp=curl_exec ($ch);
if (curl_errno($ch))
    print_r( curl_error($ch));

curl_close ($ch);

但它没有显示任何错误。如果我打印res它会给出“格式错误”。任何建议?

1 个答案:

答案 0 :(得分:0)

这里缺少很多东西。如果您打算坚持使用PHP,我建议您使用官方PHP库:https://github.com/vimeo/vimeo-php-lib

如果你仍然想自己做,你需要做一些事情。

  1. 使用OAuth 1.0a进行身份验证 - https://developer.vimeo.com/apis/advanced#oauth
  2. 按照上传文档https://developer.vimeo.com/apis/advanced/upload
  3. 进行操作