Intereting Posts
Php7.1 Неустранимая ошибка: оператор не поддерживается для строк Система аутентификации CodeIgniter, которая позволяет стороннему ауту? В любом случае, чтобы определить, закрывает ли пользователь браузер с помощью php? получить идентификатор видео с новых URL-адресов youtu.be Регулярное выражение для анализа ytube yid Добавьте «Недавние сообщения» из блога WordPress в статическую страницу html Как (правильно) расширить метод ScnSocialAuth \ Authentication \ Adapter \ HybridAuth :: authenticate ()? –enable-phar = shared Нужно ли перекомпилировать PHP для установки Composer? Получить данные из URL-адреса Можно ли передавать имена индекса массива внутри функции Как получить каждую ожидаемую строку из строки с несколькими строками mysql select ТОЛЬКО дубликаты записей из базы данных MySQL DateDiff в разделе Where? php 5.5.9 дает ошибку при объявлении подкласса перед родительским PHP Выводит XML в ASCII, когда мне нужен UTF-8

Загрузить URL-адрес изображения – PHP

Я пытаюсь создать сценарий для загрузки изображений на локальный сервер, и у меня возникают некоторые проблемы с загрузкой изображений. Я тестировал следующий сценарий на стандартном изображении ( http://img.ruphp.com/php/2860.jpg ) и его рабочий режим, однако, при попытке загрузить изображение из следующего места

http://img.ruphp.com/php/52122ad8-c918-450d-be10-5921c0a870cb.png

У него нет содержимого файла, поэтому изображение не работает. Я считаю, что это связано с HTTPS? Я первоначально попробовал стандартный файл_get_contents, но это не сработало, теперь я пытаюсь использовать CURL-версию, и она все еще не работает. Функция, которую я использую, выглядит следующим образом:

function grab_image($url,$saveto){ $ch = curl_init ($url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_BINARYTRANSFER,1); $raw=curl_exec($ch); curl_close ($ch); if(file_exists($saveto)){ unlink($saveto); } $fp = fopen($saveto,'x'); fwrite($fp, $raw); fclose($fp); } 

Кто-нибудь знает, почему это не работает?

Благодаря,

Craig

Это очень просто:

test.php

 <?php // image source $image_url = 'https://s3-eu-west-1.amazonaws.com/mobile-phones-direct/phone/portraitimage/full/52122ad8-c918-450d-be10-5921c0a870cb.png'; // download image file_put_contents('downloaded_image.jpg', file_get_contents($image_url)); // display echo '<img src="downloaded_image.jpg" >'; 

Меня устраивает:

введите описание изображения здесь


Если вы хотите использовать версию curl и исправить эту ошибку ssl, добавьте это в свой код:

 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 

вы получаете изображение из ssl url, пытающегося удалить https и использовать http

или попробуйте добавить: –

 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);