0
美好的一天!在php的圖像字段中查看圖像
任何人都可以幫助我,有一個系統,用戶通過他們的桌面在Web上託管的數據庫中進行註冊,現在我們正在開發此係統的Web界面,然後它在系統中具有某種功能,必須顯示照片用戶。
我在SQL Server中做了普通的SELECT,但是在imagejpeg($ img);它不顯示整個圖片,只是一張圖片。任何人都可以幫我嗎?我正在網上尋找一些教程,他們說這是因爲該領域的大小。如果該字段的類型是(image),並且返回值是十六進制的。
下面我試圖做一個函數和一個朋友的幫助下,但她也沒有工作:
<php
$id = (int)$_GET['id'];
$qryimg = mssql_query(gimage SELECT FROM user WHERE id = {$ id});
$resimg = mssql_fetch_array($qryimg);
$im1 = $resimg['gimage'];
header("Content-type: image/jpg");
$image='';
for($i=2; $i<strlen($im1); $i+=2)
{
$hex = $im1{$i} . $im1{($i + 1)};
$cod = hexdec($hex);
$image .= chr($cod);
}
echo $image;
#echo imagejpeg($image);
?>
你好,謝謝你試圖幫助我。 字段gimage是字段名稱。從而給出一個印刷品$ im1;不正確的直接。不斷彈出一張照片。字段圖像以十六進制4000字節返回一個字符串。 + - 像這樣的例子: 0xFH3H09800000111 ........ – andrewd
你沒有回答我的問題。什麼類型是gimate。從外觀上看,它看起來像是一個VARCHAR或CHAR。它需要是一個BLOB類型。當你打印它時,你不應該得到十六進制數字。如果您無法控制它的存儲方式,那麼這可能不是您的錯,圖像存儲器僅存儲一半圖像。 玩一個較小的圖像。它工作嗎?那麼這是限制你的字段大小。 – dlite922
你好這個字段是IMAGE類型的(SQL SERVER 2008),圖像被正確存儲,因爲我已經嘗試了4個不同的用戶登錄,並且4出現了同樣的問題。我無法更改圖像的閾值,因爲它已經有多個註冊記錄和桌面系統在多個客戶端上運行,而不是重建這些系統:( 我試圖在網上找到某些東西,並且找不到任何關於它,有人說他們不得不把字符串分成幾塊,但我不知道該怎麼辦。 謝謝 – andrewd