getimagesize () не удалось открыть поток: HTTP-запрос не выполнен! HTTP / 1.1 502 Bad Gateway

Я пытаюсь получить информацию об изображении (с URL: https://ec.europa.eu/maritimeaffairs/maritimeday/sites/mare-emd/files/exhibitions-2016.png) от getimagesize() функция.

Когда я запускаю свою функцию, я получаю сообщение об ошибке в заголовке этого вопроса.

Но я все еще могу открыть это изображение из браузера.

Может кто-нибудь сказать мне, почему? Есть ли разница между открытием изображения в PHP и браузером?

Благодарю.

0

Решение

Да, есть разница между PHP и браузером. PHP работает большую часть времени на сервере и может получать данные из Интернета. Браузер работает на вашем компьютере (как клиент) и может также получать данные из Интернета. В браузере уже реализовано много вещей, о которых вам не нужно беспокоиться, когда речь идет о сетевом взаимодействии.

PHP — это язык, который предлагает вам несколько библиотек для общения в сети и получения данных, но вы должны реализовать это самостоятельно и подумать о том, что происходит, и подробно.

Вы, вероятно, звоните getimagesize('https://ec.europa.eu/maritimeaffairs/maritimeday/sites/mare-emd/files/exhibitions-2016.png');

Ваш браузер обрабатывает шифрование для вас, но PHP имеет иногда поддержка шифрования не включена. Попробуйте URL, начинающийся с http: вместо https :, если это работает, это проблема.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]