2

imgur apiについて質問があります。imgur API を使用して自分の Web サイト用のギャラリーを作成したいのですが、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 スクリプト (imgur.com API) から返された XML を解析します

しかし、それは私を助けませんでした...

ご挨拶

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 に答える