【问题标题】:How to implement imgur api (image host) on a website?如何在网站上实现 imgur api(图像主机)?
【发布时间】:2012-01-10 21:15:55
【问题描述】:

我遇到了http://api.imgur.com,并认为这将是在我的网站上使用的有用工具。然后我注意到 StackOwerflow 也使用它,所以它一定很好 ))) 虽然我在尝试实施它时很挣扎。我看了看 http://api.imgur.com/examples PHP 部分,但对我帮助不大。

我感兴趣的是在我的网站上包含 imgur api,以便用户可以上传他们的图片。我需要存储 img url/path 以便我可以在网站上显示它。

例如有一个允许用户上传照片的表单,然后将上传图像的 url/路径存储在数据库中 (VARCHAR)。

有没有人在这个系统上取得了成功,并且可以帮助我理解如何像 StackOwerflow 使用它一样实现它(只将图像 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);
?>

【问题讨论】:

  • 具体来说,您遇到了什么困难?
  • 嗯,以某种形式在网站上实现它。假设用户单击“选择文件”按钮并选择图像。我怎样才能让它上传到 imgur.com ?
  • 好吧,我明白了。您对文档的哪一部分有疑问?我们喜欢这里的具体问题。
  • 再试一次。该链接上的哪些特定部分信息让您感到困惑?你尝试了什么,你在哪里卡住了?
  • 你的英语很好。你的细节不足。发布您尝试过的内容(代码!)并准确描述其表现不佳的原因。

标签: php mysql image photo imgur


【解决方案1】:

我看到您已从 imgur API 站点复制并粘贴了示例,该站点提供了包含在 $filename 中的文件名示例。您需要将此变量指向 PHP 已上传的文件。

修改脚本的$filename 部分:

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

来源:POST method file uploading

【讨论】:

  • 仅此而已?我需要做的就是更改文件名?
猜你喜欢
  • 2017-05-12
  • 2020-03-11
  • 2023-01-12
  • 2012-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-17
  • 1970-01-01
相关资源
最近更新 更多