Curl Upload不适用于ge.tt API

时间:2014-02-04 07:49:38

标签: php curl

您好我正在尝试使用此教程http://ge.tt/developers/start上传。在第4步,他们提到了类似的内容

 curl --upload-file myfile.txt http://blobs.ge.tt/a1b2c3/myfile.txt?sig=-TR2k2-3kjsh9nfmn4 

上述行的等效php代码是什么?我尝试下面的代码,但它没有工作(返回bool假)

$url = $arr["posturl"];
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
$postData = array(
    'file' => '@/home/nextgen/public_html/api/myfile.txt',
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
$response = curl_exec($ch);
var_dump($response);

注意:我有正确的$ url和myfile.txt存在,我尝试替换'file'=> '@ / home / nextgen / public_html / api / myfile.txt'和'@ myfile.txt'..似乎没什么用。

2 个答案:

答案 0 :(得分:0)

如果您使用curl - -libcurl选项,您会看到差异。您的命令行执行PUT,您的PHP版本执行multipart formpost ...

答案 1 :(得分:0)

  1. '@ myfile.txt'必须是'@ / full / path / to / myfile.txt'
  2. curl_setopt($ ch,CURLOPT_POST,1);是必需的