我正在構建一個PHP腳本來寫入背景圖像的文本。 我使用GD功能如imagecopy(), imagejpeg(), imagedestroy()
合併保存文本圖像和背景圖像。一切都很完美。表單提交後,新圖像將保存在背景圖像的相同文件名中,等等頁面重新加載時,編輯後的圖像不會顯示在瀏覽器上。它需要我使用Ctrl + F5(在Windows上)刷新頁面以加載編輯後的圖像。任何人都可以幫助我如何清除緩存?圖像緩存將不會顯示新的編輯圖像
3
A
回答
4
1
要妥善處理圖像緩存,你可以在你的Apache配置或htaccess的編寫規則或者...或者您可以創建簡單的「圖像提供商」,有點像......
public function img($imgfile = '')
{
$imgfile = $_GET['q'];
$age = 60*60*24*31;
$file = $_SERVER['DOCUMENT_ROOT'].'/'.$imgfile;
if (! file_exists($file))
{
header('HTTP/1.0 404 Not Found');
}
else
{
$last_modified = filemtime($file);
// Check for cached version
if(isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) OR isset($_SERVER['HTTP_IF_NONE_MATCH']))
{
if ($_SERVER['HTTP_IF_MODIFIED_SINCE'] == gmdate('D, d M Y H:i:s \G\M\T', $last_modified))
{
header('HTTP/1.0 304 Not Modified');
exit;
}
}
if(strpos($imgfile,'.png') !== FALSE)
{
Header('Content-Type: image/png');
}
elseif(strpos($imgfile,'.jpg') !== FALSE || strpos($img_file,'.jpeg') !== FALSE)
{
Header('Content-Type: image/jpg');
}
elseif(strpos($img_file,'.gif') !== FALSE)
{
Header('Content-Type: image/gif')
}
Header('Last-Modified : '.gmdate('D, d M Y H:i:s \G\M\T', $last_modified));
Header('Cache-Control : max-age='.$age.', must-revalidate');
Header('Expires : '.gmdate('D, d M Y H:i:s \G\M\T', $last_modified + $age));
echo file_get_contents($file);
}
然後你可以使用在你的形象標籤,像<img src="provider.php?q=foo.jpg" alt="Foo" />
相關問題
- 1. 將不保存圖像編輯Outlook.MailItem HTMLBody
- 2. 下載圖像編輯圖像然後緩存
- 3. Pivotviewer顯示緩存的圖像
- 4. HTML圖像不會顯示
- 5. Asp.Net圖像不會顯示
- 6. UIActivity不會顯示圖像?
- 7. wordpress圖像不會顯示
- 8. 圖像不會顯示
- 9. 圖像不會顯示 - CSS
- 10. 圖像將不會顯示在JPanel上
- 11. Iframe將不會顯示圖像
- 12. 圖像將不會在IE9中顯示
- 13. JLabel將不會顯示圖像
- 14. Gridview將不會顯示圖像按鈕
- 15. 網頁將不會顯示圖像
- 16. 將不會顯示CSS背景圖像
- 17. Firefox將不會顯示圖像!
- 18. WPF圖像將不會顯示BitmapSource
- 19. Chrome不會緩存SVG內的圖像
- 20. PHP:如果圖像存在顯示圖像其他顯示不同的圖像
- 21. Java將圖像轉換爲灰度,圖像不會顯示
- 22. UIImageView不顯示新圖像
- 23. ListView顯示某些圖像,但不會顯示其他圖像
- 24. Django緩存顯示圖像問題
- 25. 緩存圖像沒有顯示滑動
- 26. 如何顯示圖像進行編輯?
- 27. 在draftjs編輯器中顯示圖像
- 28. 爲UITableViewCell創建圖像緩存,但只顯示一個圖像
- 29. UIImagePickerController緩慢顯示圖像
- 30. SDWebImage不更新緩存中的圖像
「誰能幫助我如何清除緩存?」 - 這是什麼意思? –