人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

php fileatime について

fileatime で取得できる時刻は、「ファイルの最終アクセス時刻」とありますが、ある画像のURLをブラウザのアドレスバーに入力して表示しても、この時刻は更新されません。

しかし、phpで下記の様にして表示すると更新されます。

header("Content-type: image/jpg");
print file_get_contents("hoge.jpg");

また、FTPソフトで、サーバ内の画像をプレビューしても時刻は更新されました。

「ファイルの最終アクセス時刻」とありますが、
どういう時に、この時刻が更新されるのか教えて下さい。

宜しくお願いします。

●質問者: worldtravel
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● a-kuma3
●50ポイント ベストアンサー

ある画像のURLをブラウザのアドレスバーに入力して表示しても、この時刻は更新されません。

ブラウザのキャッシュが効いているからじゃないでしょうか。
ctrl+F5 で強制読み込みすると、最終アクセス時刻が更新されると思います。

php のコードでファイルをアクセスすると最終アクセス時刻が更新されるのは、その php を動かす URL が毎回動くからです。
Last-Modified や Cache-Control ヘッダを返してキャッシュが効くようにすると、2回目以降は最終アクセス時刻は更新されないと思います。


worldtravelさんのコメント
いつもありがとうございます。 私もキャッシュかと思いまして、リロードしたり、 まだその画像を表示した事も無い他のブラウザで表示したりもしました。 <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache"> も、書き足して表示しなおしてもみました。 何度もリロードもしました。 スマホのブラウザでも試しました。 が、ブラウザでの表示では、時刻が更新されないのです。 しかしFTPソフトで見ると、更新されます。 サーバは、SAKURAの共用サーバです。 サーバ自体の設定があるのでしょうか?

worldtravelさんのコメント
一部書き直しです <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache"> も、書き足して表示しなおしてもみました。 何度もリロードもしました。

a-kuma3さんのコメント
さくらの共用サーバだと、ぱっとググった感じではキャッシュサーバを通してる感じは無さそうですが、apache のキャッシュ制御を使っている可能性はあります。 https://httpd.apache.org/docs/2.4/caching.html

worldtravelさんのコメント
ありがとうございました。 わからないので、とりあえず、後回しにしました。 下記の様に書かれているので、そういう風に設定しているのかもしれませんね。 http://php.net/manual/ja/function.fileatime.php > 注意: > ァイルの atime は、 ファイルのデータブロックが読み込まれる度に変更されるとみなされます。 この仕様は、アプリケーションが非常に多くのファイルまたはディレクトリに 常にアクセスする場合に性能上の負荷となる可能性があります。 > Unix のファイルシステムの中には、 このようなアプリケーションの性能を向上させるために atime の更新を無効としてマウントできるものもあります。 USENET のニューススプールが一般的な例です。 このようなファイルシステムでは、この関数は使用できません。

2 ● disillusionist
●50ポイント

こういうのは関係ないのだろうか

注意: この関数の結果は キャッシュされます。詳細は、clearstatcache() を参照してください。

http://php.net/manual/ja/function.fileatime.php


a-kuma3さんのコメント
これが関係してるとしたら、「php のプログラムで file_get_contents したときには、ファイルのアクセス時刻が<b>更新されません</b>」になるはずですよね。 http://q.hatena.ne.jp/1451988180#a1253971

disillusionistさんのコメント
ああ、そうなんだ。いやこの辺見たけど何だかよく分からなかったんですよね(爆) http://d.hatena.ne.jp/i_ogi/20080506/1210062971 http://stackoverflow.com/questions/18097432/does-file-get-contents-use-a-cache

worldtravelさんのコメント
ありがとうございました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ