【问题标题】:PHP curl for PUT request to send video file to vimeo用于将视频文件发送到 vimeo 的 PUT 请求的 PHP curl
【发布时间】:2013-12-06 05:04:51
【问题描述】:

要将视频上传到 vimeo,我们必须使用带有二进制数据的 put 请求,如 document。我试图从 php curl lib 发送 put 请求

我的代码如下:

$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 它会给出“格式错误”。有什么建议吗?

【问题讨论】:

  • 当您尝试访问 vimeo 之类的网站时,通常会进行身份验证。
  • 我已经编辑并添加了具有客户端 ID 的 $params 参数

标签: php curl vimeo-api


【解决方案1】:

这其中缺少很多东西。如果您打算坚持使用 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-16
    • 1970-01-01
    • 1970-01-01
    • 2012-02-29
    • 2018-01-09
    相关资源
    最近更新 更多