2011-05-17 196 views
0

是否有可能加載圖像加載一個PHP的形象?使用使用SRC

image.php

$image_id = $_GET['image_id']; 
echo "image".$image_id.".png"; 
+0

不要你的意思是SRC?我只是糾正它。 – 2011-05-17 08:56:37

+0

對您的問題的回答是是 – 2011-05-17 08:57:33

+0

您確定要使用服務器資源來讀取,然後回顯圖像嗎?我不會那麼肯定... – 2011-05-17 09:34:47

回答

5

你必須返回一個有效的圖像,使用file_get_contentsreadfile用於獲取圖像的conent然後輸出到瀏覽器

header("Content-Type:image/png"); 

    $image_id = $_GET['image_id']; 

    if(is_file($file = "image".$image_id.".png") || is_file($file = "no_image.png")) 
     readfile($file); 
+1

不要使用「text/html」內容類型提供圖像。 – Quentin 2011-05-17 08:59:09

+1

輸出仍然需要標題 – 2011-05-17 08:59:44

+0

或者,如果這不是爲了隱藏真實圖像位置,或者如果圖像不是實時創建的,則可以很容易地使用「位置」標頭重定向到圖像。 (如果可以通過http訪問) – Yoshi 2011-05-17 09:10:49

0

如果你有在巴新內容數據庫,請按照其他答案。如果你需要的只是數據庫中的ID,只需要<img src="image<?=$image_id?>.png">

0

不,這是不可能的。您必須將圖像文件的內容寫入輸出流。

0

是否有可能加載圖像使用: <img src="image.php?image_id=1">

是。網址是網址。內容類型決定內容,而不是URL本身的任何字符。

$image_id = $_GET['image_id']; echo "image".$image_id.".png";

不是那樣的。您必須先讀取圖像文件,然後使用合適的內容類型輸出,或將其重新定向(使用位置標題)至靜態圖像。

0

您必須更改標題內容類型並打印圖像文件的內容。這是給你image.php文件的一個示例:

$image_id = $_GET['image_id']; 
$filename = "image".$image_id.".png"; 
header('Content-Type: image/png'); 
print file_get_contents($filename); 
0

一個襯墊....

echo (file_exists($_GET['image_id'])) ? header("Content-Type:image/png").readfile($_GET['image_id']).die() : false;