我遇到了http://api.imgur.com并认为这将是一个在我的网站上使用的有用工具。然后我注意到StackOwerflow也使用它,所以一定很好))) 虽然我在尝试实施它时遇到了困难。我看了看 http://api.imgur.com/examples PHP部分,但它对我没什么帮助。
我感兴趣的是在我的网站上包含imgur api,以便用户可以上传他们的图片。我需要存储img url / path,以便我可以在网站上显示它。
e.g。有一个允许用户上传照片的表单,然后将上传图像的URL /路径存储在数据库中(VARCHAR)。
有没有人在这个系统上取得成功,可以帮助我理解如何实现它,就像StackOwerflow使用它一样(只在数据库中存储图像网址而不是帖子)。
我试过的代码:
<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);
?>
答案 0 :(得分:4)
我看到您已经复制并粘贴了imgur API网站上的示例,该网站提供了$filename
中包含的文件名示例。您需要将此变量指向PHP已上载的文件。
修改脚本的$filename
部分:
$filename = $_FILES['uploaded_file']['tmp_name'];