Вопрос

Скажем, у меня есть URL-адрес изображения, а доступ к файлу по URL-адресу отключен в конфигурации сервера, и я не могу (или не хочу) это изменить. Есть ли простой способ получить его высоту/ширину с помощью PHP?Я бы предпочел не использовать JavaScript, если это возможно.

Нет правильного решения

Другие советы

хм, значит, вы собираетесь перетащить изображение по сети в свое PHP-приложение, «найти» размер, а затем, предположительно, выдать HTML-изображение с размером?мне кажется каким-то прикольным.

На самом деле это не имеет особого смысла, поскольку, если вы можете просмотреть изображение на веб-странице, оно должно быть доступно напрямую через URL-адрес.Другими словами, зачем вам URL-адрес изображения, к которому нельзя получить доступ через URL-адрес?

В любом случае вы можете использовать любое количество библиотек http/url для установки пользовательского агента в заголовке запроса.По сути, вы обманываете сервер, заставляя его поверить, что к файлу обращается браузер, а не анонимная служба.

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

Чтобы изучить удаленное изображение, вам придется каким-то образом его запросить.Вы не можете определить свойства того, чего не видите.Если удаленный доступ к файлам отключен для вашей установки PHP, вам, возможно, придется передать это процессу системного уровня, например wget, cURL или ftp.

Скорее всего, если ваш хост отключил удаленный доступ к файлам, он, вероятно, также отключил доступ к оболочке, но в качестве примера вы можете сделать что-то вроде:

exec("wget ".$url);

Другим вариантом может быть использование встроенный пакет cURL, если по какой-то странной конфигурации он установлен и активен, несмотря на отсутствие удаленного доступа к файлам.

Если вы можете найти способ загрузить изображение с удаленного сервера, вы можете использовать getimagesize() в теме.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top