带有curl的imgur api无法运行php

带有curl的imgur api无法运行php,php,api,curl,Php,Api,Curl,我花了一个多小时研究这个问题,并阅读了大量教程 imgur有一个api,可以生成这样的图像 我正在尝试以卷曲的形式获取输出的图像,但无法使其显示任何内容 <?php $full = 'http://www.winningportfolio.com/images/styles/iBusiness/style/iconYoutube.png'; function get_image($url) { $ch = curl_init(); $timeout = 5

我花了一个多小时研究这个问题,并阅读了大量教程

imgur有一个api,可以生成这样的图像

我正在尝试以卷曲的形式获取输出的图像,但无法使其显示任何内容

<?php

$full = 'http://www.winningportfolio.com/images/styles/iBusiness/style/iconYoutube.png';

function get_image($url)  
{  
    $ch = curl_init();  
    $timeout = 5;  
    curl_setopt($ch,CURLOPT_URL,'http://imgur.com/api/upload/?url='.$url);  
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);  
    curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);  
    $data = curl_exec($ch);  
    curl_close($ch);  
    return $data;  
}

//test it out!
$new_url = get_image($full);

echo $new_url;

?>

这应该可以:

function get_image($url)
{
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,'http://imgur.com/api/upload/?url=' . urlencode($url));
    curl_setopt($ch,CURLOPT_CONNECTTIMEOUT, 5);
    curl_setopt($ch,CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
    curl_exec($ch);
    $lastUrl = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
    curl_close($ch);
    return $lastUrl;
}

$full = 'http://www.winningportfolio.com/images/styles/iBusiness/style/iconYoutube.png';
var_dump( get_image($full) );
  • $url
    应为url编码
  • 当您以这种方式上传照片时,会发生重定向,因此必须遵循这些重定向
  • 如果我理解你的函数返回新的url?这可以通过
    curl\u getinfo()

我猜$full没有正确的URL编码。(无耻的插件)您可以通过我们的工具运行它,以查看您的代码在通往API的过程中生成了什么。这是可行的,但我如何在没有额外内容的情况下响应结果?结果如下:string(24)““什么是额外的内容?”<代码>字符串(24).?使用
echo
而不是
var_dump
?@Güntheruber您甚至可以执行
echo'以显示图像本身。只是说说而已。