2
    $image = file_get_contents($_FILES['upload']['tmp_name']);
    $id = 'myid';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://api.imgur.com/3/image.json');
    curl_setopt($ch, CURLOPT_POST, TRUE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Authorization: Client-ID ' . $id));
    curl_setopt($ch, CURLOPT_POSTFIELDS, array( 'image' => base64_encode($image) ));
    $response = curl_exec($ch);
    curl_close($ch);
    $response = json_decode($response);

这是我必须将匿名图像上传到 imgur 的引用块。它适用于我的mac os机器上的xampp,但它不适用于我的Windows上的xampp。我还知道以下关于 windows xampp 上 curl 的信息:

-it is enabled
-it works when i try to grab the content of an url
-it doesnt work when i try to make DELETE request to remove an anonymous image(the same code works on the mac os xampp)

我认为两台计算机上的 cURL 设置之间存在一些差异。如果你能告诉我方法,我将不胜感激!提前致谢。

4

1 回答 1

6

这是一个 SSL 问题。curl_exec请在通话前尝试以下行

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

(并且您可能会添加var_dump($response);以查看服务器响应。)

于 2013-08-01T19:56:20.843 回答