所以有這個網頁,這個人設法返回原始圖像從服務器 僅僅通過輸入id作爲參數。如何返回一個沒有文件名或擴展名的圖片
http://photos.iitm.ac.in/byid.php?id=008576
即使你右擊在新標籤的形象和開放的,只有PHP被打開。 有誰知道他是如何設法做到這一點的? 我需要這種功能的配置文件圖片
所以有這個網頁,這個人設法返回原始圖像從服務器 僅僅通過輸入id作爲參數。如何返回一個沒有文件名或擴展名的圖片
http://photos.iitm.ac.in/byid.php?id=008576
即使你右擊在新標籤的形象和開放的,只有PHP被打開。 有誰知道他是如何設法做到這一點的? 我需要這種功能的配置文件圖片
這很簡單。您只需使用正確的Content-type發送數據。所以,如果你想顯示一個GIF圖像只是用來:
Header("Content-Type: image/gif");
然後發送圖像數據。
你可以這樣做:
假設例如網址是:
http://www.example.com/getImage.php?id=20
因此,在getImage.php頁面獲取用戶的圖像信息從數據庫,並提供圖片來源:
代碼應該是這樣的:
$userImageName="testImage.gif"; //FROM DATABASE FOR id=20, Just for example
ob_clean(); //CLEAN THE OUTPUT BUFFER
header("Content-Type: image/gif"); //SET PAGE HEADER FOR IMAGE
echo file_get_contents('imageDirectory/'.$userImageName);
die;
考慮使用'readfile()'。 IIRC在基準測試中速度更快〜20%。 – 2014-10-20 09:31:00
雖然它不是對問題的直接回答,但由於它已經被其他人回答,所以我認爲它值得一提。
您還可以控制試圖保存圖片時顯示的文件名!要做到這一點,使用下面的頭:
header('Content-Disposition', 'inline;filename=my_image_title.jpg');
,使你的腳本是這樣的:
header('Content-Disposition: inline;filename=my_image_title.jpg');
header('Content-Type: image/jpeg');
readfile($pathToImage);
//or echo $imageContent
只要確保你進行第一次調用header()
以前沒有意外輸出任何東西,否則你可能會收到「頭文件已發送」錯誤。
沿着這條線我想http://lorempixel.com/400/200/ – Sp0T 2014-10-20 08:37:45