Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
 Аватар для Marrex
0 / 0 / 0
Регистрация: 31.05.2016
Сообщений: 129

Картинки без разрешения

26.08.2021, 17:40. Показов 1744. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем!
Столкнулся с тем, что ... например на кинопоиске картинки без разрешения...
https://www.kinopoisk.ru/film/1237488/posters/
И imagecreatefromstring выдает ошибку:

imagecreatefromstring(): Data is not in a recognized format

PHP
1
$img = imagecreatefromstring(file_get_contents( $_POST['img_get_from_url'] ));
Ошибка произошла впервые... за долгое время, за все остальное время исправно работало...

Полностью код...

PHP
1
2
3
4
5
6
7
8
9
10
11
$is_avatar = imagecreatefromstring(file_get_contents( $_POST['img_get_from_url'] ));
if ($is_avatar)
{
  $width_foto  = imagesx($is_avatar);
  $height_foto = imagesy($is_avatar);
  $width_new_ava  = $width_avatar;
  $height_new_ava = $height_avatar;
  $new_avatar = imagecreatetruecolor ( $width_new_ava , $height_new_ava );
  imagecopyresized($new_avatar, $is_avatar, 0, 0, 0, 0, $width_new_ava, $height_new_ava, $width_foto, $height_foto);
  $write_img = imagepng($new_avatar, $sf_avatar);  
}
$sf_avatar - путь на сервере.

Подскажите... куда смотреть... вообще не в теме...
Спасибо заранее!!!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.08.2021, 17:40
Ответы с готовыми решениями:

изменение разрешения картинки без сохранения
Возможно глупость, а может и нет. Цель такова: Есть одна картинка 500х500. На одной странице нужно ее вывести в размере 100х100, а в...

Уменьшить массу изображения без изменяя разрешения
Подскажите как средствами PHP уменьшить массу изображения. Не изменяя его разрешения.

Изменение разрешения картинки на php
Здравствуйте. Начинаю изучать php и тут потребовалась помощь, которой не нашел просто гуглешкой, может быть и плохо искал. Вообщем, есть ли...

7
193 / 140 / 36
Регистрация: 19.11.2020
Сообщений: 881
26.08.2021, 18:27
Возможно вы передаёте ссылку, которая не является картинкой.
0
 Аватар для Marrex
0 / 0 / 0
Регистрация: 31.05.2016
Сообщений: 129
27.08.2021, 12:14  [ТС]
Это очень глубокомысленно!

Добавлено через 9 минут
Здесь приведен не очень удачный пример... там на кинопоиске все картинки без разрешения...
https://avatars.mds.yandex.net... de11/1920x
Я и пытаюсь выяснить... почем такое происходит... выглядит как картинка, но разрешения нет, imagecreatefromstring не работает...
На это должно быть объяснение...
Я примерно догадываюсь, что это такое... это... как единая точка входа для файлов... где в ссылку вы можете запихнуть что угодно, но по данному адресу этого файла не будет...
0
193 / 140 / 36
Регистрация: 19.11.2020
Сообщений: 881
27.08.2021, 13:34
Лучший ответ Сообщение было отмечено Marrex как решение

Решение

Цитата Сообщение от Marrex Посмотреть сообщение
https://avatars.mds.yandex.net... de11/1920x
Нормально данный файл будет загружаться через file_get_contents для imagecreatefromstring

Вы лучше когда ловите ошибку, сохраняйте данные файла. А именно - то, что к вам пришло.


Возможно ваш сервер он шлёт на большой и толстый Х. Поставьте для file_get_contents какой нибудь user agent

Добавлено через 37 секунд
Есть вариант что у них есть система капчи, и это вполне очевидно. Когда сервер видит что один пользователь неадекватно пытается всосать как можно данных. Он просто блокирует доступ.

Добавлено через 26 минут
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?
function IsImage($url, &$ImageFormGD, &$tmpDataImage) {
    $ImageFormGD = false;
    
    $tmpDataImage = trim(file_get_contents($url));
    if(!empty($tmpDataImage))
        $ImageFormGD = @imagecreatefromstring($tmpDataImage);
    
    return $ImageFormGD !== false;
}
 
$url = 'https://avatars.mds.yandex.net/get-kinopoisk-image/1600647/75b5d0bf-b12a-416d-856c-51976179de11/1920x';
 
if(IsImage($url, $ImageFormGD, $tmpDataImage)) {
    
  $width_foto  = imagesx($ImageFormGD);
  $height_foto = imagesy($ImageFormGD);
  $width_new_ava  = 40;
  $height_new_ava = 40;
  $new_avatar = imagecreatetruecolor ( $width_new_ava , $height_new_ava );
  imagecopyresized($new_avatar, $ImageFormGD, 0, 0, 0, 0, $width_new_ava, $height_new_ava, $width_foto, $height_foto);
  $write_img = imagepng($new_avatar, 'file.png');  
    
    
} else {
    file_put_contents('Проблемный файл ['.date("Y-m-d H.i.s").'].txt', $url . PHP_EOL . '--- file data ---' . PHP_EOL . $tmpDataImage);
}
1
188 / 89 / 35
Регистрация: 26.04.2021
Сообщений: 346
27.08.2021, 18:45
Цитата Сообщение от Marrex Посмотреть сообщение
например на кинопоиске картинки без разрешения
Полнейший бред, там обычный растовый image/jpeg
0
1311 / 1003 / 232
Регистрация: 01.10.2018
Сообщений: 3,902
27.08.2021, 18:49
Цитата Сообщение от Marrex Посмотреть сообщение
На это должно быть объяснение...
Может, это происходит из-за формата WEBP, а не из-за отсутствия расширения?
0
193 / 140 / 36
Регистрация: 19.11.2020
Сообщений: 881
27.08.2021, 19:46
Цитата Сообщение от estic Посмотреть сообщение
Может, это происходит из-за формата WEBP, а не из-за отсутствия расширения?
GD поддерживает webp c PHP5.4

Добавлено через 47 секунд
Но для интереса, не мешало бы сделать вывод

PHP
1
print_r(gd_info());
Добавлено через 50 секунд
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
array(15) {
  ["GD Version"]=>
  string(26) "bundled (2.1.0 compatible)"
  ["FreeType Support"]=>
  bool(true)
  ["FreeType Linkage"]=>
  string(13) "with freetype"
  ["GIF Read Support"]=>
  bool(true)
  ["GIF Create Support"]=>
  bool(true)
  ["JPEG Support"]=>
  bool(true)
  ["PNG Support"]=>
  bool(true)
  ["WBMP Support"]=>
  bool(true)
  ["XPM Support"]=>
  bool(true)
  ["XBM Support"]=>
  bool(true)
 
  ["WebP Support"]=>
  bool(true)
 
  ["BMP Support"]=>
  bool(true)
  ["AVIF Support"]=>
  bool(true)
  ["TGA Read Support"]=>
  bool(true)
  ["JIS-mapped Japanese Font Support"]=>
  bool(false)
}
0
 Аватар для Marrex
0 / 0 / 0
Регистрация: 31.05.2016
Сообщений: 129
28.08.2021, 19:42  [ТС]
OpXiv! Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.08.2021, 19:42
Помогаю со студенческими работами здесь

Изменение разрешения картинки
Здравствуйте, нужно создать программу которая будет резать картинки на 720x720, качество n dpi. Обрезание - не сжатие, т. е. лишнее...

Установка разрешения выше разрешения матрицы (установленного разрешения по умолчанию)
Есть планшет с hdmi (Cutepad r91), у него матрица 1024*768. Соответственно, при подключении по Hdmi, даже при установке разрешения hdmi...

Уменьшение разрешения (картинки) фото
Всем здоровья. Помогите новичку. Код работает, но после выполнения невозможно удалить или переименовать папку. Пишет &quot;Операция...

Масштабирование картинки в зависимости от разрешения экрана
как программно масштабировать картинку в зависимости от разрешение экрана?

Масштабирование картинки в зависимости от разрешения экрана
Программа будет запускаться на разных компьютерах с разными разрешениями, в инициализации стоит подстройка под размер экрана: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru