Last-Modified для php картинки

Тема в разделе "Как сделать...", создана пользователем bork75, 15 дек 2013.

Статус темы:
Закрыта.
  1. bork75

    bork75 Д☼брая собака )

    Регистр.:
    21 июн 2008
    Сообщения:
    1.449
    Симпатии:
    716
    Подгружаю картинку с другого сервера на свой сайт со своим url в адресе.
    Пытаюсь не грузить лишний раз сервер с которого тяну картинку
    Помогите написать нормальный Last-Modified для кода ниже.
    Может ещё что нужно?
    заголовки смотрю здесь: http://www.bertal.ru/
    PHP:
    <?php
    header
    ('content-type: image/jpeg');
    header('Last-Modified: '.gmdate('D, d M Y H:i:s ').'GMT');

    $url 'http://auto.tltnews.ru/pic/files/food/82.jpg';

    $content file_get_contents($url);
    print_r($content);
    ?>
     
  2. RedGodzy

    RedGodzy Создатель

    Регистр.:
    15 авг 2012
    Сообщения:
    12
    Симпатии:
    2
    Попробуйте:

    header("Expires: Mon, 26 Jul 2020 05:00:00 GMT");
    header("Last-Modified: Mon, 26 Jul 2013 05:00:00 GMT");
    header("Pragma: cache");
    Last-Modified можете свой оставить
     
    Последнее редактирование модератором: 17 дек 2013
  3. bork75

    bork75 Д☼брая собака )

    Регистр.:
    21 июн 2008
    Сообщения:
    1.449
    Симпатии:
    716
    Как вариант, но хотелось бы реальные данные отдавать.

    Примеров в сети много
    https://www.google.ru/#newwindow=1&q=php image header last-modified&undefined=undefined

    Что-то типа того нужно:
    http://stackoverflow.com/questions/...-through-php-if-modified-since-not-being-sent
    http://dtbaker.net/web-development/how-to-cache-images-generated-by-php/
    http://ernieleseberg.com/php-image-output-and-browser-caching/

    Не получается заставить их работать, примеры видимо для относительного адреса, а не для полного url
     
  4. ev-goo

    ev-goo Создатель

    Регистр.:
    28 май 2012
    Сообщения:
    10
    Симпатии:
    9
    Если я все правильно понял, то возможно поможет функция get_headers();

    PHP:
    $url 'http://auto.tltnews.ru/pic/files/food/82.jpg';
    $headers get_headers ($urltrue);

    header("Expires: " $headers['Expires']);
    header("Last-Modified: " $headers['Last-Modified']);
    header("Pragma: cache");

    echo 
    "<pre>";
    print_r ($headers);
    echo 
    "</pre>";

    echo 
    $headers['Last-Modified'];

     
    bork75 нравится это.
  5. bork75

    bork75 Д☼брая собака )

    Регистр.:
    21 июн 2008
    Сообщения:
    1.449
    Симпатии:
    716
    Не сработало :( ,смотрю здесь http://www.bertal.ru результат работы
    Last-Modified обновляется каждый раз.

    HTTP/1.1 200 OK
    Server: nginx
    Date: Tue, 17 Dec 2013 13:53:24 GMT
    Content-Type: image/jpeg
    Connection: keep-alive
    X-Powered-By: PHP/5.3.3-7+squeeze17
    Last-Modified: Tue, 17 Dec 2013 13:53:24 GMT

    действительно всё работает, это я криворукий поторопился )
    Спасибо большое!
     
    Последнее редактирование модератором: 8 янв 2014
Статус темы:
Закрыта.