php圖片二進制
A. php如何將webservice返回的二進制流保存到本地圖片
前幾天 剛弄的 app提交圖片的介面,二進制那種比較麻煩,
讓app那端也用 瀏覽器那種方式提交過來,php正常接收就ok
然後返回地址、圖片屬性,(這邊不用保存到本地吧,app那端應該是保存到本地),多個的話循環一下也行,也不慢
最後app把多個圖片以及表情、內容什麼的提交過來 ,然後保存到資料庫 應該是 ok的 ,如果 單獨保存圖片 正則匹配一下!!!
B. php將圖片轉為二進制後,我想得到二進制的數據,但是直接在瀏覽上輸出會亂碼
如果 你是想保存成圖片文件的話, 那你就把二進制數據寫到文件里, 記得文件後綴是 gif
For Example:
file_put_contents('1.gif', $a);
C. php圖片以二進制的方式存儲在資料庫的問題
mysql自己有select語句,用這個來操作
比如說你每個圖片主碼設一個auto_increasment的id(自動以1,2,3這樣排序下去的方式存圖片),然後比如說一共有50張圖片,依次讀出for(i=0,i<50,i++){select
圖片
from
資料庫
where(圖片id=
i);}就這樣可以依次根據圖片的id讀下去。
D. 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.不同類型的圖片輸出不同的頭部。
E. php如何接收二進制流圖片
move_uploaded_file( string $filename , string $path)可以將二進制文件接收並存到$path去!
F. 關於php 接收二進制流轉換成圖片
比如此類名字叫做imageUpload.class.php
那麼首先是要引入該類文件用include("imageUpload.class.php");
第二步是實例化該類$inputimage = new imageUpload("input.jpg","./");
第三部是調用二進制轉換成圖片的方法了,$inputimage->stream2Image();
實例化該類需要傳兩個參數,第一個是需要保存的圖片名字,第二個是圖片保存路徑地址。
G. PHP如何判斷接收的是否為圖片二進制數據
該函數圖像格式將自動檢測,只要 PHP 支持:JPEG,PNG,GIF,WBMP 和 GD2。 返回值:成功則返回圖像資源,如果圖像格式不支持,數據不是認可的格式,或者圖像已損壞則返回 FALSE如果沒有GD庫可以使用下邊的方法: function check_img_by_source($source) { switch(bin2hex(substr($source,0,2))){ case 'ffd8' : return 'ffd9' === bin2hex(substr($source,-2)); case '8950' : return '6082' === bin2hex(substr($source,-2)); case '4749' : return '003b' === bin2hex(substr($source,-2)); default : return false;}}//測試var_mp(check_img_by_source(file_get_contents('11.gif'));大概是這個樣子的吧,只針對了jpg,png,gif做了判斷。。想加其他的按照以上規則增加即可。 不過上邊這個判斷不夠嚴謹,別人可以根據以上判斷規則構造一個假數據。
H. php後台怎麼將二進制存儲的圖片傳送給前端
一般是直接提供資源的鏈接,他們使用即可。
二進制數據可以通過base64處理後傳過去。
瀏覽器里可以通過<imgsrc="data:image/jpeg;base64,XXX">直接顯示圖片,
XXX表示圖片內容base64_encode後的結果
I. php二進制存儲圖片顯示中文亂碼問題
1、建議整站使用UTF8編碼,如果你已使用的是GB2312或GBK編碼,請使用iconv或自定義的gb2312與utf8轉換函數進行字元編碼轉換。gb2312與utf8轉換函數請參考PHP Ajax傳值中文字元亂碼如何解決。
2、如果你是剛進行php環境搭建,建議將Apache配置文件中的默認字元集修改為UTF8,即AddDefaultCharset UTF8。
3、如果上述方法還不行,請檢查你在編譯gd庫時是否添加了–enable-gd-jis-conv選項,此選項是為了讓gd庫支持日文編碼的字型檔,請取消此選項並重新編譯。此方法我沒驗證過,估計主要是針對Unix下安裝配置php環境。Windows環境一般不會出現這種情況,似乎默認PHP配置文件是注釋掉的。
4、使用php gd庫產生中文亂碼的另一個原因是沒有選擇正確的TTF字體,你需要選擇支持中文的字體,常用的中文字體文件是simsun.ttc和simhei.ttf。
OK,只要按照上述方法,基本上使用php gd庫產生中文亂碼時都能夠解決。只要仔細排查其實gd庫的中文亂碼解決起來非常方便。
J. php怎樣將圖片轉換成二進制或者是字元串
header("Content-type:image/jpeg");
$PSize=filesize('1.jpg');
$picturedata=fread(fopen('1.jpg',"r"),$PSize);
echo$picturedata;
或file_get_contents