DataURL 初探

原理:經過對文件的二進制數據進行base64進行編碼。php

優勢:css

  • 1.能夠減小網絡請求。
  • 2.字符串編碼方便傳輸存儲。

缺點:緩存

  • 1.不能在客戶端進行緩存。(如圖片,只能經過css文件進行背景圖片緩存)
  • 2.渲染時須要base64解碼,須要消耗cpu資源。

建議根據實際狀況,合理使用。網絡

應用實例
phpinfo頁面logo
DataURL 初探ide

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}'>";
相關文章
相關標籤/搜索