網頁

2019年5月9日 星期四

[ PHP ] MySQL資料中字串與圖片Blob 二進制 64位元字串輸出為 json格式

說明:
foreach迴圈通常用到找尋指定位置。
MySQL資料表的欄位設定為存取圖片資料,它是BLOB二進制格式。
Base64常用於在處理文字資料時,表示傳輸、儲存一些二進制資料。
把 MySQL資料表中欄位設定為BLOB二進制圖片格式再把他轉成64位元字串輸出。

程式範例:



$k為第幾筆
$r為資料
$key為欄位名稱
$value為值

pic為BLOB圖片格式,輸出轉為字串的方法是 base64_encode($value)。
if($key=="pic"){$output[$i][$key] =  base64_encode($value);};

<?
//連線資料
require_once("data_pic.php");
$sql="select * from text";
mysql_select_db($database,$GD);
$Result=mysql_query($sql,$GD) or die(mysql_error());

//輸出字串陣列
$k=0;
$output = array();
while($r = mysql_fetch_assoc($Result)){
foreach($r as $key=>$value ){
    if($key=="id"){$output[$k][$key] =  $value;};
    if($key=="name"){$output[$k][$key] =  $value;};
    if($key=="pic"){$output[$k][$key] =  base64_encode($value);};//輸出為64位元的字串

}
     $k++;
}
//字串陣列轉為 json 格式輸出
header('Content-type: application/json; charset=utf-8');
print(json_encode($output,JSON_UNESCAPED_UNICODE));//JSON_UNESCAPED_UNICODE為中文不轉成unicode碼
mysql_close();
exit();
?>

沒有留言:

張貼留言

影片的問題請留在影片的留言區裡。
部落格不會另外通知給我,所以很難發現你有留言。