#php #http #http-headers #image
#php #http #http-заголовки #изображение
Вопрос:
Есть ли какой-либо способ получить заголовки из тега <img> с помощью PHP? <img> имеет атрибут src, установленный для случайно сгенерированного PHP-изображения, которое отправляет заголовок, который я хочу получить, содержащий динамическое содержимое на основе содержимого изображения.
Комментарии:
1. Заголовок, основанный на содержимом изображения? Вы уверены? Не могли бы вы привести пример такого заголовка?
2. somevar = rand(0,2); заголовок(‘Some-Name’,somevar); заголовок(‘Content-Type’,’image/png’); some_image_code_that_uses_somevar;
Ответ №1:
HTTP-заголовки определяются веб-сервером при обслуживании изображения. Вы можете переопределить заголовки, предоставляя содержимое непосредственно из PHP. Однако это намного, намного медленнее, чем веб-сервер, обслуживающий изображение напрямую. Большинство веб-серверов допускают настройку для определения HTTP-заголовков для данного расширения файла.
ОБНОВЛЕНИЕ: добавьте код для ответа на комментарий.
HTML
<a href="/images/my-image.php?type=png" />
В my-image.php:
<?php
if( $_REQUEST['type'] == 'png' ){
header( 'Content-Type: image/png' );
echo file_get_contents( '/websites/mywebsite.com/web/images/my-image.jpg' );
exit();
}
Дополнительные проверки и код доступны здесь:
http://www.php.net/manual/en/function.header.php#102175
Комментарии:
1. Я не хочу переопределять заголовок, я хочу отправить свой собственный заголовок, который зависит от того, что отображается на изображении.
2. Нет, это для другого. Мое изображение и заголовок, который я хочу отправить, отличаются при каждом выполнении скрипта, поэтому я не могу использовать http_get_headers. Мне нужно синхронизировать тег <imgamp; > с заголовком, который будет использоваться в другом месте.
3. Какими заголовками вы хотите управлять? Ответ или запрос? Я не использую http_get_headers в приведенном выше коде.
4. Я хочу получить переменную из ответа.