這篇文章主要介紹了關於PHP將圖片轉換成base64格式的優缺點,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
一、圖片轉換成base64格式的優缺點
1. 優點
(1)base64格式的圖片是文字格式設定,佔用記憶體小,轉換後的大小比例大概為1/3,降低了資原始伺服器的消耗;
(2)網頁中使用base64格式的圖片時,不用再請求伺服器調用圖片資源,減少了伺服器訪問次數。
2. 缺點
(1)base64格式的常值內容較多,儲存在資料庫中增大了資料庫伺服器的壓力;
(2)網頁載入圖片雖然不用訪問伺服器了,但因為base64格式的內容太多,所以載入網頁的速度會降低,可能會影響使用者的體驗。
(3)base64無法緩衝,要緩衝只能緩衝包含base64的檔案,比如js或者css,這比直接緩衝圖片要差很多,而且一般HTML改動比較頻繁,所以等同於得不到緩衝效益。
二、PHP將圖片轉base64格式函數
/*** 圖片轉base64* @param ImageFile String 圖片路徑* @return 轉為base64的圖片*/ function Base64EncodeImage($ImageFile) { if(file_exists($ImageFile) || is_file($ImageFile)){ $base64_image = ''; $image_info = getimagesize($ImageFile); $image_data = fread(fopen($ImageFile, 'r'), filesize($ImageFile)); $base64_image = 'data:' . $image_info['mime'] . ';base64,' . chunk_split(base64_encode($image_data)); return $base64_image; } else{ return false; } }
三、base64圖片實際應用
<img src="data:image/jpeg;base64,/9j/4AAQS……"/>
因為base64的使用缺點,所以一般圖片小於10kb的時候,我們才會選擇使用base64圖片,比如一些表情圖片,太大的圖片轉換成base64得不償失。當然,極端情況極端考慮。