getimagesize(): php_network_getaddresses: ошибка getaddrinfo в Yii

Когда я использую функцию getimagesize или imagecreatefromjpeg для ссылки в своем приложении, мне приходит ошибка:

getimagesize(): php_network_getaddresses: ошибка getaddrinfo: имя или служба неизвестны

Вот мой код:

         // tidy up by removing temporary image
            unlink($tempname);
             return $retvars;
         }

         /**
          * Extract info from a JPEG file without using the GD library.
          * @param $file (string) image file to parse
          * @return array structure containing the image data
          * @public static
          */
         public static function _parsejpeg($file) {
             $a = getimagesize($file);
             if (empty($a)) {
                 //Missing or incorrect image file
                 return false;
             }
             if ($a[2] != 2) {
                 // Not a JPEG file
                 return false;
             }
             // bits per pixel
             $bpc = isset($a['bits']) ? intval($a['bits']) : 8;
             // number of image channels
             if (!isset($a['channels'])) {

Именно тогда, когда я копирую ссылку на изображение в адресной строке, она появляется и существует. Моя версия PHP 5.3.3.


person ali abdzad    schedule 10.08.2014    source источник
comment
Не могли бы вы вставить свой код и сообщение об ошибке в виде текста? Используйте кнопку «код» для первого и кнопку «Цитата» для второго. Изображение здесь не подходит: текст в виде изображений не может быть прочитан поисковыми системами, да и для слабовидящих пользователей оно тоже недоступно.   -  person halfer    schedule 10.08.2014
comment
хорошо, я сделал это @halfer   -  person ali abdzad    schedule 10.08.2014
comment
Это не имеет ничего общего с Yii   -  person Imre L    schedule 10.08.2014
comment
Вы пытаетесь получить доступ к картинке с горячей ссылкой? Каково значение $file?   -  person Imre L    schedule 10.08.2014
comment
Вы читаете файл с URL-адреса. Я думаю, что это должно работать, но вы всегда можете попробовать прочитать его с помощью file_get_contents, скопировать его во временный файл, а затем использовать getimagesize оттуда.   -  person halfer    schedule 10.08.2014


Ответы (1)


Неважно, находится ли это изображение в вашем приложении или в другом месте в Интернете, потому что вы используете URL-адрес изображения. Ошибка также связана с получением содержимого из Интернета, которое лучше обрабатывать с помощью curl.

Вместо этого вам нужно использовать адрес изображения из вашей файловой системы.

person Soheil    schedule 05.06.2020