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

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

26.08.2021, 17:40. Показов 1732. Ответов 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
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,874
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
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru