-2

ファイルのアップロード後に問題が発生しましたが、ページにはまだ前の画像が表示されています。ページに正しい画像 (新しい画像) を表示するには、ページを 2 ~ 3 回更新する必要があります。

これらの行をページの上部に追加しようとしました:

header("Cache-Control: no-cache, must-revalidate");
header("Expires: Sat, 08 Nov 2014 05:00:00 GMT");

また、日付を過去に変更しようとしました。しかし、まだ動作しません。

.htaccess には、次のものも入れました。

<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 1 seconds"
  ExpiresByType image/x-icon "access plus 604800 seconds"
  ExpiresByType image/jpeg "access plus 604800 seconds"
  ExpiresByType image/png "access plus 604800 seconds"
  ExpiresByType image/gif "access plus 604800 seconds"
  ExpiresByType application/x-shockwave-flash "access plus 604800 seconds"
  ExpiresByType text/css "access plus 604800 seconds"
  ExpiresByType text/javascript "access plus 604800 seconds"
  ExpiresByType application/x-javascript "access plus 604800 seconds"
  ExpiresByType text/html "access plus 600 seconds"
  ExpiresByType application/xhtml+xml "access plus 600 seconds"
</IfModule>

ページはまだ同じことを実行します。新しい画像をアップロードするたびに、ページを 2 ~ 3 回更新する必要があります。

私は何をすべきか ?

アップデート

いくつかの PHP 行 (他にもたくさんありますが、見やすくするために重要な行だけを掲載しています)

    $photo=$_FILES['photoA']['tmp_name'];
    $photo_name=$_FILES['photoA']['name'];
    $photo_size=$_FILES['photoA']['size'];
    $photo_type=$_FILES['photoA']['type'];

    $uid=$_POST['uid'];

    $ext = strtolower(end(explode('.', $photo_name)));

    if ($ext == "jpg" or $ext == "jpeg" or $ext=="gif" or $ext=="png") {

        $filename=$uid.".".$ext;
        copy($photo,"myfolder/$filename");
        }

    }

///私の index.php で (fetch sql の後)

if ($row['user_img'] !="" ){

    echo"<div id='userimg_cont' style='background-image: url(../myfolder/$row[user_img]);'>

}

4

2 に答える 2

0

独自のテスト目的で必要な場合は、Google Chrome でコンソールを使用して、ここで要素を確認できます。ここに画像の説明を入力

これにより、コンソールが開いているときはいつでもキャッシュが無効になります (2 ~ 3 回更新する必要はありません)。

于 2013-09-21T12:53:29.427 に答える