2013-09-03 3 views
0

Я потратил более часа на это и читал многочисленные уроки.imgur api с curl не работает php

Imgur имеет API, которые генерируют изображения, как этот http://imgur.com/api/upload/?url=http://avatars.stocktwits.net/production/8483/thumb-1350729865.png

Я пытаюсь получить выведенного изображения в завиток, но не может получить его, чтобы показать что-нибудь.

<?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; 

?> 
+0

Я предполагаю, что $ full не правильно закодирован URL. (Бесстыдный плагин) Вы можете запустить его с помощью наших инструментов, чтобы узнать, что генерирует ваш код на пути к API. –

ответ

0

должно работать:

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 должны urlencoded
  • при загрузке фотографий этот путь, перенаправляет СЛУЧИЛОСЬ, поэтому они должны последовать
  • , если я понимаю вашу функцию возвращает новый url? это может быть сделано curl_getinfo()
+0

это работает, но как я эхо результат без лишних вещей? результат выглядит так: string (24) «http://imgur.com/otH7qPk» –

+0

Что такое дополнительный материал? 'string (24) ...'? Использовать 'echo' вместо' var_dump'? –

+0

эхо работает. спасибо –