簡體   English   中英

PHP 重定向后圖像不刷新(緩存問題?)

[英]Image doesnt refresh after PHP redirection (cache issue?)

問題是下一個:我在 main.php,我調用 php 文件,使用 JavaScript 腳本,將用戶的圖像與新的服務器同步。 但是在所有文件功能完成(沒有問題)之后,我用 header 重定向到 main.php,進行了非常快的刷新但圖像沒有更新,我一直在看舊文件,但如果我用F5顯示新圖像。

緩存問題? 我嘗試了一些 HTML 元標簽,但沒有運氣。 任何想法?

非常感謝。

編輯:為了說清楚。 我嘗試過使用標頭和重定向中的時間戳,但沒有運氣。 這是過程:

  1. main.php,一旦用戶點擊他/她的圖像,就會使用 javascript (location.href) 重定向到 update.php。
  2. 我從服務器獲取了一個新圖像,並將其保存為覆蓋前一個圖像(因此名稱相同)
  3. 我在代碼中添加了一些標頭,沒有 chae 標頭......並且位置 header 再次重定向到 main.php 並且我通過 GET 傳遞了一些參數以及時間戳(time())。
  4. 我到達了 main.php 但重新加載速度很少而且新圖像沒有顯示。

現在我想清楚多了。

謝謝你的幫助。

您可以在圖片的 URL 中添加類似?t=foo的內容。 其中foo是一個隨機字符串或數字。 或者可能是當前時間戳。 這將使瀏覽器請求一個全新的圖像,並且沒有緩存實例會做任何事情。

您可能必須使用header function 添加 header ExpiresCache-Control

是的,這是緩存問題,IE 通常會這樣做。 我總是對請求使用 append?timestamp 來避免這種情況。

編輯:

是的,我知道了。 前段時間我有同樣的問題。 無論哪種方式,時間戳都是解決方案。

您必須將時間戳添加到 <img src="path_to_image/image.jpg* ?edited-time-stamp* " />

它對我有用,希望對你也有用。

試試這個方法希望對你有幫助。

<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
header("Location:http://www.test.com");
exit;
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM