Размер и размер удаленного изображения в PHP при получении ошибки HTTP [закрыто]


Я разместил изображения в Amazon S3. И я указываю URL static.example.com на корзину S3. Когда я напрямую ввожу URL http://static.example.com/path/mypic.png в браузере, изображение существует, я тоже могу просматривать и загружать. Но когда я хочу получить размер и размер изображения в PHP, он показывает эту ошибку.

`getimagesize($path)`

И в этом заключается ошибка.

A PHP Error was encountered

Severity: Warning

Message: getimagesize(http://static.example.com/path/mypic.png) [function.getimagesize]: failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found

Filename: views/template.php

Line Number: 98

Я могу сохранить размер в базе данных во время загрузки, но это не решение для меня, у меня уже есть 1000-кратные изображения в S3. Когда я это делаю @ getimagesize($path), ошибки не отображаются, но ни размера, ни измерения.

Я также заглянул в документацию PHP getimagesize (URL). Предполагается, что пример ссылки поддерживает удаленные изображения.

Проверка php.ini

Directive           Local Value     Master Value
allow_url_fopen     On              On

Где я ошибаюсь? Есть ли лучший способ получить размер изображения и размер удаленного изображения в PHP?

ПРИМЕЧАНИЕ Я на 100% уверен, что путь к удаленному изображению правильный.

Author: Toby Allen, 2013-03-01

1 answers

Проверьте свой файл php.ini. Наиболее вероятная причина заключается в том, что ваш сервер не настроен на enable allow_url_fopen. Этот параметр иногда отключается по умолчанию в качестве меры предосторожности.

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

По этому последнему пункту вы, возможно, захотите проверить Быстрый образ , как предложил баба... и это может просто полностью избежать проблемы, если эта проблема не enable allow_url_fopen.

 5
Author: Ben D, 2017-05-23 11:43:21