Попробуйте что-то вроде
header("Expires: <the date>");
http_send_file("someImage.jpg");
из http://us3.php.net/manual/en/function.http-send-file.php Функция http_send_file (если она работает так, как я думаю) копирует файл непосредственно с диска в сетевой интерфейс, поэтому она отправляет само изображение примерно так же быстро, как изначально сервер. (Конечно, время, затрачиваемое на запуск интерпретатора PHP, все же сделает общий запрос немного медленнее, чем обслуживание статического файла.)
Как упомянул хотя бы один другой ответ, вероятно, лучший способ установить заголовок Expires (или любой другой заголовок), если вы используете Apache, - это использовать файл .htaccess
, или еще лучше, если у вас есть доступ к основным файлам конфигурации сервера, поместите туда конфигурацию Expires. Посмотрите на mod_expires .