如何在网站上实现imgur API(图像主机)?

4
我发现了http://api.imgur.com,认为它是我网站上使用的有用工具。然后我注意到StackOverflow也在使用它,所以它一定很好))) 虽然我在尝试实现它时遇到了困难。我看了看http://api.imgur.com/examples中的PHP部分,但没有帮助我多少。
我感兴趣的是在我的网站上包含imgur api,以便用户可以上传他们的图片。然后我需要存储img url/path,以便在网站上显示它。
例如,有一个表单,允许用户上传照片,然后在数据库中存储已上传图像的url/path(VARCHAR)。
有人成功地使用这个系统,并能帮助我理解如何像StackOverflow一样使用它(仅将图像url存储在数据库中而不是发布)吗?
我尝试的代码:
 <form enctype="multipart/form-data" method="post" action="upload_img.php">
    Choose your file here:
    <input name="uploaded_file" type="file"/>
    <input type="submit" value="Upload It"/>
    </form>

upload_img.php

<?
    $filename = "image.jpg";
    $handle = fopen($filename, "r");
    $data = fread($handle, filesize($filename));

    // $data is file data
    $pvars   = array('image' => base64_encode($data), 'key' => IMGUR_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);

    curl_close ($curl);
?>

3
你遇到了什么具体困难? - Michael Petrotta
我在帖子http://api.imgur.com/examples中提到了它。我对PHP版本很感兴趣,但是我不理解它的工作原理。 - Ilja
3
再试一次。那个链接中的具体信息哪一部分让你感到困惑?你尝试了什么,卡在哪里了? - Michael Petrotta
我尝试的是,当用户提交一个表单(带有所选文件)时,我从链接中启动PHP(加上我的详细信息),但没有图像上传到我的imgur.com账户。 - Ilja
4
你的英语很不错。但缺少细节。请发帖说明你所尝试过的(代码!),并准确描述它的问题在哪里。 - Michael Petrotta
显示剩余3条评论
1个回答

4

我注意到您复制并粘贴了imgur API网站上的示例,其中给出了包含在$filename中的文件名的示例。您需要将此变量指向PHP上传的文件。

修改您的脚本中的$filename部分:

$filename = $_FILES['uploaded_file']['tmp_name'];

来源:使用POST方法上传文件


这就是全部吗?我只需要更改文件名吗? - Ilja

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接