はじめまして。

PHPにて動的に生成した画像がブラウザにキャッシュされずに悩んでいます。

Smartyテンプレートに以下のように記述し

<img src="getbin.php?pid=1705&size=125&q=50&_.jpg" border="0">

生成前にファイルの存在をチェックし、既にファイルがあれば、そのパスにリダイレクトを
するようになっています。

リダイレクト前に出力するヘッダーに問題があるのでしょうか?
以下にヘッダー情報を記します。

ご指摘ご指導お願いいたします。

----------------------------------------------------------
http://hogehogehoge.net/getbin.php?pid=1705&size …

GET getbin.php?pid=1705&size=125&q=50&_.jpg HTTP/1.1
Keep-Alive: 300
Connection: keep-alive
Referer: http://hogehogehoge.net


HTTP/1.x 302 Found
Date: Tue, 19 May 2009 05:01:28 GMT
Server: Apache/2.2.3 (CentOS)
X-Powered-By: PHP/5.1.6
Expires: Tue, 19 May 2009 06:01:28 GMT
Cache-Control: max-age=3600
Pragma: cache
Location:http://hogehogehoge.net/tmp/photo/1705/1705_125. …
Content-Length: 0
Keep-Alive: timeout=15, max=75
Connection: Keep-Alive
Content-Type: image/jpeg
----------------------------------------------------------
http://hogehogehoge.net/tmp/photo/1705/1705_125. …

GET /gizmophoto/tmp/photo/1705/1705_125.jpg HTTP/1.1
Keep-Alive: 300
Connection: keep-alive
Referer: http://hogehogehoge.net
If-Modified-Since: Mon, 18 May 2009 03:29:10 GMT
If-None-Match: "8d803c-831-65bd0d80"
Cache-Control: max-age=0

HTTP/1.x 304 Not Modified
Date: Tue, 19 May 2009 05:01:28 GMT
Server: Apache/2.2.3 (CentOS)
Connection: Keep-Alive
Keep-Alive: timeout=15, max=61
Etag: "8d803c-831-65bd0d80"
----------------------------------------------------------

このQ&Aに関連する最新のQ&A

A 回答 (3件)

1705_125.jpgにおけるheaderの方に問題がありそうです。


>Cache-Control: max-age=0
これって、キャッシュ保持時間0sec つまり、キャッシュしないって事じゃないのかな?
このheaderはなにが出力しているのでしょうか(プログラム?それともapache設定?)
    • good
    • 0

まずは


・HTMLのheadタグでキャッシュできるか試してみる。

ダメなら
・php で header 情報をキャッシュする情報を投げて試してみる。

如何でしょうか?

参考URL:http://mlog.euqset.org/archives/php-users.php.gr …
    • good
    • 0

画像取得の際のクライアントからサーバーへのアクセスにて



> If-Modified-Since: Mon, 18 May 2009 03:29:10 GMT

がついているので、ブラウザにキャッシュされているように見えます。

そして、サーバーからクライアントへのアクセスも

> HTTP/1.x 304 Not Modified

なので、普通にキャッシュされているように見えますが…。


>PHPにて動的に生成した画像がブラウザにキャッシュされずに悩んでいます。

をもう少し詳しく教えてもらえますか?
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報