2011-07-21 60 views
0

在我的網站上,我讓用戶上傳圖片。以不同的名字顯示圖片

我保存圖像在一些哈希(基於名稱+時間戳)的名稱。

我將原始名稱作爲哈希名稱存儲在數據庫中。

我想使用原始名稱在我的頁面上顯示圖像。

CASE

  • 用戶上傳test.jpg
  • 圖像被保存爲/img/6eabd22d35b4132cc58e4dff75e466cc1e444d93053ca80087b12ff620bd3451服務器
  • 上原件與散列名稱存儲在數據庫
  • 顯示使用一個頁面上的圖像原名(<img src="/img/test.jpg" alt="" title="">)其實是/img/6eabd22d35b4132cc58e4dff75e466cc1e444d93053ca80087b12ff620bd3451

這可能嗎?

+2

是的。只需將所有圖像請求重寫爲一個腳本,該腳本從數據庫中提取真實的本地名稱並輸出正確的圖像。 – Wrikken

+1

查找mod_rewrite(我假設Apache在這裏)。 –

+1

@Wrikken:我應該爲此創建一個Apache RewriteRule,它將所有對/ img/*的請求重寫爲一個php文件。反過來返回的圖像內容? – PeeHaa

回答

0

好的。我想做的事根本不可能。

0

編輯

我會建議讓持有你的哈希文件名的關係表。當您執行查詢時,您可以返回兩個結果的數組,一個用於圖像源,另一個用於名稱。

+0

我引用_「我將兩個原始名稱都作爲散列名存儲在數據庫中」_ – Wrikken

+0

@Headspin:Uhhhhhmmmm。我聲明我存儲散列和原始文件名。 – PeeHaa

1

是的,這絕對有可能。這實際上很簡單,你必須:

  • 使用Apache模塊mod_rewrite將符合該模式的所有請求重寫爲(PHP)腳本;
  • 在該腳本中從數據庫中獲取真實姓名並顯示圖像。不要忘了也發送正確的標題,否則它將無法正常工作。