编程语言
首页 > 编程语言> > php – 如何在网站上实现imgur api(图像主机)?

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

作者:互联网

我遇到了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 API站点复制并粘贴了这个例子,它提供了一个包含在$filename中的文件名的例子.您需要将此变量指向PHP已上载的文件.

修改脚本的$filename部分:

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

资料来源:POST method file uploading

标签:php,mysql,image,photo,imgur
来源: https://codeday.me/bug/20190626/1293101.html