2012-12-28 44 views
0

爲了隱藏我的圖像目錄,以便用戶不知道圖像的存儲位置,我該如何實現這樣的內容?使用PHP在HTML上隱藏圖像源

<img src="https://photos-1.dropbox.com/t/0/AADkpdIqLbXdAFgmjGbdsKa_InYsOtfwuekNtOyuHgmh3g/10/5642407/jpeg/32x32/6/_/1/2/Pensive%20Parakeet.jpg/HM183nQwcIFtc1PrTIOCRe4rIUK8wBaWKcgqD-g2Ma8?size=32bf&amp;prep_size=1280x960" draggable="true" alt="Pensive Parakeet.jpg" class="sprite sprite_web s_web_page_white_picture_32 icon thumbnail"> 

凡來源: https://photos-1.dropbox.com/t/0/AADkpdIqLbXdAFgmjGbdsKa_InYsOtfwuekNtOyuHgmh3g/10/5642407/jpeg/32x32/6/_/1/2/Pensive%20Parakeet.jpg/HM183nQwcIFtc1PrTIOCRe4rIUK8wBaWKcgqD-g2Ma8?size=32bf&prep_size=1280x960

呈現圖像而沒有任何問題。

+2

你在隱藏圖片目錄背後有什麼推理?如果你使用像Dropbox這樣的圖像名稱的隨機ID字符串,沒有人應該可以在其中窺探 –

+0

你可以使用背景圖像texhnique,但如果用戶很聰明,那麼他/她最終會得到它^^ – gamehelp16

+0

你可以使用php腳本作爲圖像源,並讓腳本返回圖像內容類型。路徑會相當隱蔽。 – phpisuber01

回答

1

這種類型的功能通常通過vhost或.htaccess文件中的RewriteRule和某種圖像處理功能實現。例如,你可以把這樣的事情在.htaccess文件中,也就是說,/噸關閉目錄文檔根:

RewriteEngine on 
RewriteCond $1 !^(index\.php|robots\.txt) 
RewriteRule ^(.*)$ /index.php/$1 [L] 

這將透明地重定向場景後面的所有來電,例如(如果放置在你的/ t目錄中),/t/0/foo/bar/stuff/t/index.php/0/foo/bar/stuff。假設您在該目錄中有一個index.php文件,您可以通過解析$_SERVER['REQUEST_URI']$_SERVER['PATH_INFO']來處理它獲取的URL中的所有內容,以確定要返回的內容。

如果您將圖像保存在其他位置,您可以通過執行任何您想要對它們執行的操作並使用imagepng()imagejpg()將它們推送到瀏覽器來返回它們。 See the example在這些頁面之一如何做到這一點。

+0

很好的解決方案。非常感謝! –