2011-05-13 36 views
1

我想在電子郵件中表示動態圖像。例如與給定的網址爲郵件提供動態圖像的最佳方法

<img src="http://myserver.com/index.php/user_key/thispagestate.jpg" /> 

我想服務於基於我的服務器內邏輯的不同圖像。只有2到4個靜態圖像用於表示任何給定請求的結果。

2個選項我腦子裏想的是:

  1. 直接使用也許 imagecreatefromjpeg
  2. 服務圖像或生成302重定向

看到,因爲每個請求將導致一個數量有限的圖片我認爲重定向可能會節省我們的資源,並在用戶端也使用緩存。每個請求的結果將根據用戶和時間而改變,也許使用重定向對搜索引擎優化或垃圾郵件過濾有一定的意義。

你的最佳方法意見可以理解

回答

2

2個選項我腦子裏想的是:

  1. 直接使用
  2. 也許imagecreatefromjpeg或者 產生302個重定向服務於圖片

我會在這種情況下與#1,但因爲它是一個靜態圖像,您可以簡單地使用:

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('Content-Type: image/jpg'); // or image/png, etc. 
echo file_get_contents($image_path); // where $image_path is the path to the image 
exit; 

改爲。如果您正在嘗試執行某些操作,例如在靜態圖像上添加文本,則只需要使用GD函數。

在這個緩存中的注意我將它設置爲緩存過期,因爲URL將是相同的,但內容可能會改變。這可能會混淆緩存系統。

看到,因爲每個請求會導致圖像的數量有限 一個我 想重定向可能會節省我們的最終 資源,使用戶的最終用途 緩存太。

實際上,因爲同一個文件現在會有不同的內容。您需要他們每次重新驗證內容以確保顯示正確的圖像。

+0

遲到檢查我自己的問題。這看起來很簡單,謝謝你的建議。 – dmcg 2011-06-12 20:37:03