Получить картинку по адресу в переменную и сохранить в файл file_get_contents
Для получения картинки с помощью функции file_get_contents нам потребуется адрес картинки, приведем примеры создания такого рода изображений.
Далее будем получать картинку с помощью file_get_contents по реальному адресу картинки
Картинка и file_get_contents
- Можно ли получить изображение с помощью file_get_contents
- Как получить изображение из ссылки!?
- Выводим изображение полученное file_get_contents
- Как сохранить изображение полученное из ссылки!?
- Как получить размеры изображения полученного file_get_contents
- Скачать можно здесь
-
Как вывести на экран полученное изображение с помощью file_get_contents
Итак... выше получили картинку из адреса в переменную.
И увидели на странице "иероглифы", которые совсем не похожи на реальную картинку!
Вопрос: "как же это все превратить в картинку"?
Можно ли вывести картинку, полученную с помощью file_get_contents
Рассмотрим два варианта вывода картинки :
1). Вывод картинки полученной file_get_contents через headerЭто, конечно очень странное занятие выводить таким образом картинку, но вывести можно:
$im = imagecreatefromstring(file_get_contents ('https://dwweb.ru/__img/About_me/about_me.jpg'));
if ($im !== false) {
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
}
Результат вывода картинки полученной с помощью file_get_contents :
Если выведем прямо здесь, то вместо страницы получим картинку, поэтому на отдельной странице
2). Вывод картинки полученной file_get_contents прямо на странице:Для того, чтобы вывести картинку(на страницу) полученную из file_get_contents -нам потребуется чуть больше функций;
Возьмем тот же адрес, что и раньше:
https://dwweb.ru/__img/About_me/about_me.jpgДалее используем:
Нам потребуется ImageCreateFromString
Далее ob_start
Плюс imagepng
+ base64
И всё это выведем в img
код вывода картинки полученной file_get_contents
Соберем весь код вывода картинки полученной file_get_contents прямо на странице:
<?
$image_url = 'https://dwweb.ru/__img/About_me/about_me.jpg';
$imageget = file_get_contents ($image_url);
$image = ImageCreateFromString( $imageget );
ob_start();
imagepng($image );
$png = ob_get_clean();
$uri = "data:image/png;base64," . base64_encode($png);
echo "<img src=" . $uri . " />";
Вывод картинки полученной file_get_contents прямо на странице
Как видим полученная картинка с помощью функции file_get_contents - прекрасно выводится:
Можно ли получить изображение с помощью file_get_contents
Как вы знаете, что картинку/изображение можно получить в переменную, с помощью file_get_contents, но для этого нужно, чтобы выполнилось условие.
Как проверить работает ли функция file_get_contents для картинки?
Для того, чтобы проверить - будет ли работать функция file_get_contents для картинки нам потребуется:
Проверить - включена/либо отключена функция allow_url_fopen
Плюс нам потребуется ini_get
Для этого... на сайте размещаем вот такой код:
<?
echo 'file_get_contents : ', ini_get('allow_url_fopen') ? 'Включено' : 'Выключено';
?>
Код проверки работы file_get_contents с картинкой
Размещаем приведенный код проверки возможности работы функции file_get_contents с картинкой - прямо здесь :
Как получить изображение с помощью file_get_contents!?
Для того, чтобы получить изображение из ссылки с помощью file_get_contents нам потребуется:
Для реального кода будем использовать реальные картинки.
Возьмем её отсюдаВыведем нашу живую картинку:

Присвоим переменной полученные данные::
Если вы попытаетесь вывести на экран
То получим код такого вида:
Весь код можно посмотреть здесь.
Почему вместо картинки непонятный код!?
Вопрос почему не выводится картинка полученная с помощью file_get_contents!?
Почему вместо картинки - код с квадратиками?
Да поэтому, что данный код картинки, php пытается интерпретировать как программу, и естественно, что получится полная хрень:
