1
數據庫中的圖片是否有我的問題:記錄在與SQL Server和PHP
我用這種方法記錄在數據庫中的圖片:
UPDATE myTable
SET pictureData = (SELECT * FROM OPENROWSET(BULK 'myFileAdress.jpeg', SINGLE_BLOB)AS x)
WHERE …
我看了這個數據是這樣的:
$myData = $myConnection->query('Select pictureData from myTable where …');
$row = $myData->fetch(PDO::FETCH_ASSOC);
echo @pack('H*', $row['pictureData'])
在另一隻手我嘗試直接讀取從PHP腳本這個圖片文件如下:
$data = fopen ($myPictureAdress, 'rb');
$size = filesize ($picture);
echo fread ($data, $size);
事實上,一些八位字節('0')被放在第一個方法(從數據庫中)並破壞我的圖片,如下所示。
有沒有人知道爲什麼這個八位組被放置在那裏?插入查詢是否正確完成?
非常感謝您的幫助!
系統信息:
- 的SQL Server 2005
- 腓
- IIS
好:
000000D0 38 00 42 00 63 00 63 00 63 00 63 00 63 00 63 00 8 B c c c c c c <-- no error
000000E0 63 00 63 00 63 00 63 00 63 00 63 00 63 00 63 00 c c c c c c c c
000000F0 63 00 63 00 63 00 63 00 63 00 63 00 63 00 63 00 c c c c c c c c
00000100 63 00 63 00 63 00 63 00 63 00 63 00 63 00 63 00 c c c c c c c c
不好:
00000100 63 00 63 00 63 00 63 00 63 00 06 00 36 00 36 00 c c c c c 6 6 <-- error
00000110 36 00 36 00 36 00 36 00 36 00 36 00 36 00 36 00 6 6 6 6 6 6 6 6
00000120 36 00 36 00 36 00 36 00 36 00 36 00 36 00 36 00 6 6 6 6 6 6 6 6
我不熟悉如何將數據插入到sql中的方法。但也許你在這個入口找到一些提示和鏈接:http://stackoverflow.com/questions/6106470/php-convert-a-blob-into-an-image-file/6106541#6106541 – rokdd