2011-03-31 5 views
1

ディレクトリ内のイメージを探すリダイレクト設定があります。存在しない場合は、イメージのサイズを変更して保存するPHPファイルにリダイレクトしますそのディレクトリに移動します。私はそれが素晴らしい仕事を得た。問題は、書き込まれた画像が4時間経過した場合にリダイレクトする良い方法を見つける必要があることです。私はMod_expiresを調べましたが、イメージが4時間経過したときに私のPHPイメージリサイザにリダイレクトする方法を見つけることができませんでした。.htaccessを使用してディレクトリ内の期限切れイメージをリダイレクトまたはmod_rewriteする方法

私はこれをPHPで行うことができますが、全体のポイントはPHPの代わりにApacheを使用してサーバーの負荷を軽減することでした。私が取り組んでいるサイトでは毎日数千人の視聴者がいるので、サイズ変更された画像を効率的にキャッシュする必要があります。 //画像:「HTTP場合はここで

  1. ブラウザ要求 "http://images.mydomain.com/image/1234_01_thumb.jpg"
  2. Apacheのチェックが...私がやっているものの例です。

今では/image/resize_image.php 『とのサムネイル生成『/画像/』フォルダをmydomain.com/image/1234_01_thumb.jpgは、」それは、存在へとリダイレクトされない場合は

  • が存在します』 「1234_01_thumb.jpg」がx時間経過したときに、どのように「/image/resize_image.php」にリダイレクトするのですか?ある時点で、誰かが間違った写真をアップロードした場合、特にその写真を更新する必要があります。

    助けてください。前もって感謝します!

  • 答えて

    1

    http://php.net/manual/en/function.exif-read-data.php

    あなたは、ファイルの日付を取得し、現在time()に対して

    はこのような何かを言うことを確認することができます:私は本当にあなたが私がしようとしているものを手に入れる願ってい

    $img_head = exif_read_data($img_path, 'IFD0'); 
    if ($img_head != false) { 
        if ($img_head['FILE.FileDateTime'] < (time() - 14400)) { 
        header ("Location: old_image.php"); 
        exit; 
        } 
    } 
    

    を私の電話から入力しているようにここに言う...

    +0

    クリスおかげで、私はすでに以前このソリューションを検討しました。問題は、PHPが生成した/ image /フォルダにイメージがあることです。要求されたイメージが古い場合は、image_resize.phpにリダイレクトするためにApacheが必要です。 –

    0

    私が間違っていれば誰かが私を訂正してくれることを願っていますが、 Pはmod_php経由でApacheのモジュールとして実行されるため、Webサーバーはコードを解読する必要があります。

    Hmm。私の独創的な考えは次のようなものを使用してキャッシュ制御値を設定することでした:

    <FilesMatch "\.(jpg|jpeg|png|gif)$"> 
    Header set Cache-Control "max-age=14400, must-revalidate" 
    </FilesMatch> 
    

    が、それは動作しません。それはちょうど...画像の新しいコピーをつかむためにApacheを言うだろう

    編集:私は私の思考プロセスに向かっていたところ

    うん、@のchris_mcclellanのアイデアがあります。私はそれを実行し、それがあなたのパフォーマンスの目標を満たすかどうかを確認します。

    関連する問題