我试图通过用DATA-URI替换图片网址来优化我的网页,但转换为数据URI后图片不会呈现。
以下是将普通网址转换为数据uri的代码:
$imgurl= "https://www.cashy.in/images/banners/0ad08aafdd0887ed79f9fcc4321d54ed.png";
$type=substr($imgurl, -3);
$newimg=base64_encode($imgurl);
$o_img="data:image/".$type.";base64,".$newimg;
答案 0 :(得分:1)
如上所述,您不对图像本身的URL进行编码,您必须对实际数据进行编码。
因此,您应该使用类似下面的代码:
$imgurl= "https://www.cashy.in/images/banners/0ad08aafdd0887ed79f9fcc4321d54ed.png";
$type=substr($imgurl, -3);
$newimg=base64_encode(file_get_contents($imgurl));
$o_img="data:image/".$type.";base64,".$newimg;
但是,在执行此操作时,您需要了解您正在通过图像的大小增加生成的HTML的大小(加上base64编码中固有的33%开销)。只有当图像本身非常小并且额外HTTP请求的开销超过所需的额外下载时才这样做。