imgur api不起作用

时间:2011-02-13 19:52:17

标签: php api imgur

我对imgur api有疑问。 我想使用imgur api为我的网站创建一个图库,但是如何创建一个上传到imgur服务器的文件上传器?

这是我创造的:

<?php
include 'xmlparser.php'; // From http://www.criticaldevelopment.net/xml/doc.php
if($_SERVER['REQUEST_METHOD'] == "POST"){
    $data = file_get_contents($_FILES["file"]['tmp_name']);

    // $data is file data
    $pvars   = array('image' => base64_encode($data), 'key' => HERE_MY_API_KEY);
    $timeout = 30;
    $curl    = curl_init();

    curl_setopt($curl, CURLOPT_URL, 'http://api.imgur.com/2/upload.xml');
    curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $pvars);

    $xml = curl_exec($curl);

    $parser = new XMLParser($xml);
    $parser->Parse();
    echo $parser->images->item->links->original;

    curl_close ($curl); 
}
else
{
    ?>
    <form action="test.php" method="post" enctype="multipart/form-data">
        <input type="file" name="file" id="file" /> 
        <input type="submit" name="submit" value="Submit" />
    </form>
    <?php
} 
?>

但这似乎不起作用......? 我收到这个错误:

在第7行的C:\ data \ home \ www \ test.php中

解析错误:语法错误,意外的T_STRING,期待')'

第7行是这一行:

$pvars   = array('image' => base64_encode($data), 'key' => HERE_MY_API_KEY);

有什么问题? imgur api的文档在这里: http://api.imgur.com/examples

你能帮助我吗?

是的,我已经搜索了这些主题:

HTML Upload Form will only upload files found in the directory of the PHP file
Using jQuery to parse XML returned from PHP script (imgur.com API)

但它对我没有帮助......

问候

2 个答案:

答案 0 :(得分:2)

将API密钥放在引号中。他们把它放在所有大写和外部引号中的方式是表示一个恒定的值。

答案 1 :(得分:1)

请确保在此处http://imgur.com/register/api

注册匿名API而非注册身份验证API

为此拉了我的头发