Код загружает файл image.jpg
, находящийся в одной директории со скриптом, на сервер ImageShack.us, и выводит прямую ссылку на загруженное изображение:
$filename = dirname(__FILE__) . '/image.jpg';
$postData = array(
'fileupload' => '@' . $filename,
'key' => '*********', // ключ полученный на странице http://stream.imageshack.us/xmlapi/
'xml' => 'yes',
);
$ch = curl_init('http://www.imageshack.us/upload_api.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
$result = curl_exec($ch);
curl_close($ch);
$xml = simplexml_load_string($result);
if (!$xml)
{
echo 'Error';
}
else if (isset($xml->error))
{
echo 'Error: ' . $xml->error;
}
else
{
echo 'Image URL: ' . $xml->links->image_link;
}
Подробнее в документации.
Комментарии
Спасибо за скрипт! А есть такой же для какого-нибудь российского картинкообменника? типа radikal или fastpic?
насколько знаю, у radikal и fastpic нет своего api, поэтому придётся эмулировать браузер с помощью curl и заниматься парсингом
интересно теоретически: если все картинки скажем галереи держать на ImageShack.us а не на своем сайте - это скажется на производительности сайта?
если картинок ОЧЕНЬ много, то можно сэкономить на запросах к серверу и использовать ImageShack в качестве CDN, но это не лучший вариант - файлы от туда когда-нибудь удалят.
Не работает, пишет
Wrong file type detected for file image.jpg:application/octet-stream
Всё перепробовал, никак не получается убрать эту ошибку.
сервер не правильно настроен, можно попробовать указать тип вручную:
А сколько ресайзов картинки хранит у себя Imageshack? И как менять ссылку для их просмотра?
подумываю просто на интернет магазин вбахать такой скрипт. Но чет сервер медленно фотки выдает.
Добавить комментарий