2

我有一个关于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
} 
?>

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

解析错误:语法错误,意外的 T_STRING,在第 7 行的 C:\data\home\www\test.php 中需要 ')'

第 7 行是这一行:

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

怎么了?imgur api 的文档在这里: http ://api.imgur.com/examples

你们能帮帮我吗?

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

HTML 上传表单只会上传 PHP 文件目录中的文件
使用 jQuery 解析 PHP 脚本返回的 XML (imgur.com API)

但这对我没有帮助...

问候

4

2 回答 2

2

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

于 2011-02-13T20:10:58.920 回答
1

确保您在此处注册匿名 API 而不是经过身份验证的 API http://imgur.com/register/api

为此拉了我的头发

于 2012-01-22T00:27:05.410 回答