1

我正在使用 php 开发服务器端 Youtube 上传器。使用此脚本,我将视频文件成功上传到 Youtube。但是,我不想手动选择文件,但我想上传一个已经在我的服务器上的文件。我知道文件名/路径(如果这对您有任何帮助,也可以对视频进行 base64 编码),并且我拥有 Youtube 所需的所有密钥和令牌。但是,我不知道如何将所有这些信息转换为适当的 http-post。

<form action="<?php echo($response->url); ?>?nexturl=<?php echo(urlencode($nexturl)); ?>" method="post" enctype="multipart/form-data">
   <input id="file" type="file" name="file"/>
   <input type="hidden" name="token" value="<?php echo($response->token); ?>"/>
   <input type="submit" value="go" />
</form>

我已经尽力深入研究 cURL,但我不确定这是否对我有帮助。

4

1 回答 1

0

根据您提供的网址中找到的脚本,我将首先尝试:

$ch = curl_init($response->url."?nexturl=".urlencode($nexturl));
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER["HTTP_USER_AGENT"]);
curl_setopt($ch, CURLOPT_POST, true);
$post = array(
    "file"=>"@/path/to/file.avi",
    "token"=>$response->token
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post); 
$response = curl_exec($ch);
于 2012-06-06T16:40:59.533 回答