2011-05-30 61 views
1

我會馬上進入追逐!我得到了下面的代碼來顯示圖像並存儲在表php mysql圖像處理

<?php 
if (isset($_GET['p'])){      //onclick i call that script with parameter 
    $d=$_GET['p'];       //so p is the parametered passed to the script 
    $connect=mysql_connect("localhost","user","") 
    or die ("Check your server connection"); 
    $db_found = mysql_select_db("mydb", $connect); 
    $SQL = "SELECT * FROM table 
      WHERE d ='$d'"; 
    $result = mysql_query($SQL); 
    $row=mysql_fetch_array($result); 
    echo "DATA: $row[data]<br>"; 
    header('Content-type:image/jpg'); 
    $content = $row['image']; 
    echo $content;  
} 
?> 

我得到的string.if我刪除所有的回聲,只留下回聲$內容的名稱一些數據;我的圖像顯示。此外,如果刪除回聲$內容並保留所有其他回聲,我的回聲再次顯示!爲什麼我不能將圖像和回聲混合在一起?我該怎麼辦? thnx提前!

爲JPG圖像
+4

注意MySQL的注射 – 2011-05-30 13:42:04

+0

任何理由,你做的第一回聲?您將無法回顯正常的文本數據,然後回顯圖像數據。你應該嘗試做一個或另一個。否則,瀏覽器將無法正確渲染內容。 – mikesir87 2011-05-30 13:47:04

回答

2

正確的MIME標記爲「image/JPEG」 - 嘗試,而不是

至於對方的回答指出,你需要有頭後,所有回聲,但如果你有兩個回聲圖像可能不會顯示,你只需要一個回聲(回聲$內容)和一個頭。

3

你必須調用標題之前其它輸出(例如回波)。你也應該使用image/jpeg。試試這個:

 header('Content-type:image/jpeg'); 
     echo "DATA: $row[data]<br>"; 
     $content = $row['image']; 
     echo $content;