星期四, 5月 29, 2008

用PHP和MySQL保存和輸出圖片

//存blob格式
用PHP和MySQL保存和輸出圖片


//存文字格式
$data = fread(fopen($up_file, "r"), filesize($up_file));

1 fopen($up_file, "rb") 二進位讀檔。

2.放進資料庫前先編一下碼再放進去。
  $data =base64_encode($data);
輸出的時候請先用base64_decode()恢復二進位編碼再輪出。


//讀出二進位
print $bytes["RawData"];


remark============
1.存文字格式會使圖檔變大2,3倍
2.php會將轉傳的stream的最前頭加上3個byte (dom) //說明用UTF-8格式 ,尚不知如何去掉
就自己濾掉前3碼吧
if (responseBytes[0] == 0xEF) && (responseBytes[1] == 0xBB) && (responseBytes[2] == 0xBF)
3.有時候stream前面還會多0x20,一般來說是php tag的最前面有空白...所以一併傳進去了,導至多了一個空白

沒有留言: