首先, 你要知道圖片的格式, 如: jpg, png 諸如此類
主要從事網頁設計、PC網站建設(電腦版網站建設)、wap網站建設(手機版網站建設)、成都響應式網站建設、程序開發、微網站、小程序開發等,憑借多年來在互聯網的打拼,我們在互聯網網站建設行業積累了豐富的做網站、網站設計、網絡營銷經驗,集策劃、開發、設計、營銷、管理等多方位專業化運作于一體,具備承接不同規模與類型的建設項目的能力。
其次, 二進制只是一種儲存格式, 不影響輸出
具體如下
header("Content-Type: image/jpeg"); // image/jpeg: MIME類型, 各種圖片都有各自的MIME類型
... 省略數據庫讀取
echo $sql['Image']; // 直接輸出二進制數據
只要中間不出現意外的輸出(如: PHP報錯), 就可以了
本文實例講述了php將圖片文件轉換成二進制輸出的方法。分享給大家供大家參考。具體實現方法如下:
1
2
3
4
header(
Content-type:
image/jpeg);
$PSize
=
filesize('1.jpg');
$picturedata
=
fread(fopen('1.jpg',
r),
$PSize);
echo
$picturedata;
就這么簡單4行代碼,就將圖片以二進制流的形式輸出到客戶端了,和打開一張圖片沒有任何區別。
這里需要注意的是,發送的header要根據具體情況而定,不一定都是image/jpeg。JPG的就是image/jpeg,但PNG的就是image/png.不同類型的圖片輸出不同的頭部。
//算法分析:我們想要實現的是數字相加,每位數的最大值為4,超過4進1位,即5進制。
//如果,數字的最后一位不等于4,那么直接相加并輸出;如果最后一位是4,將這一位置1,并且進位1
//進位的1必須跟前面的數字進行相加,這就形成了一個遞歸,遞歸的條件是最后一位等于4
//為了跟前面的數字進行相加,我們必須先對原數字進行截取,比如數字1114,進位后應該得到1121
//代碼是這樣處理的:先把4置1,然后截取111,遞歸過程中執行111+1=112,然后返回112,并更上一次遞歸中得到的和的最后一位
//拼接成一個新的字符串:1121
使用以下函數:
string iconv ( string $in_charset , string $out_charset , string $str )
例:
str1 = '漢字'; // 假設此php源文件以GBK編碼保存,那么str1就是GBK編碼,占4個字節
str2 = iconv('GBK', 'UTF-8', str1); // str2是utf8編碼,占6個字節
說明:如果你的php源文件已經以utf8編碼保存,就不需要這樣轉換了。
其它相關函數:
mb_convert_encoding
?php
$user='root';
$password='root';
$db='test';
$connect=mysql_connect('localhost',$user,$password);
mysql_set_charset('utf8',$connect);
mysql_select_db($db);
$photo = "0x".bin2hex(file_get_contents("./test.jpg"));
$sql="INSERT INTO `test`.`test` (`photo`) VALUES ($photo);";//$photo不需要用引號,切記
mysql_query($sql);
//$result=mysql_query("SELECT *
//FROM `test`
//LIMIT 0 , 30");
//$img=mysql_fetch_array($result);
//echo $img['photo'];
?
網站欄目:php操作二進制數據 php 字符串轉二進制
網站鏈接:http://vcdvsql.cn/article18/dooosdp.html
成都網站建設公司_創新互聯,為您提供網站排名、移動網站建設、網站設計、網頁設計公司、電子商務、用戶體驗
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯