原理:通過對文件的二進制數據進行base64進行編碼。
優點:
- 1.可以減少網絡請求。
- 2.字符串編碼方便傳輸存儲。
缺點:
- 1.不能在客戶端口進行緩存。(如圖片,只能通過css文件進行背景圖片緩存)
- 2.渲染時需要base64解碼,需要消耗cpu資源。
建議根據實際情況,合理使用。
應用實例
phpinfo頁面logo
demo
$filePath = 'http://admin.test.yundou.com/images/guopiao_logo.jpg';
function getFileBase64DataUrl(string $filePath): string
{
$parseArr = (parse_url($filePath));
$fileExtension = pathinfo($parseArr['path'])['extension'];
$base64Content = base64_encode(file_get_contents($filePath));
$returnString = '';
if ($fileExtension == 'jpg') {
$returnString .= 'data:image/' . $fileExtension . ';';
$returnString .= 'base64,';
$returnString .= $base64Content;
}
return $returnString;
}
$dataUrl=getFileBase64DataUrl($filePath);
echo "<img src='{$dataUrl}'>";