将API URL转换为“;数据:图像/png;base64“;通过PHP

将API URL转换为“;数据:图像/png;base64“;通过PHP,php,base64,Php,Base64,以下API URL在PNG图像中有一个输出: 我想将API URL转换为“data:image/png;base64”(数据URL/data URI),与下面的PHP代码示例类似: $image = ("<img src = http://qrfree.kaywa.com/?l=1&s=8&d=google.com"); // False! (only example!) //or $image = 'real-picture.png'; // True! $image

以下API URL在PNG图像中有一个输出:

我想将API URL转换为“data:image/png;base64”(数据URL/data URI),与下面的PHP代码示例类似:

$image = ("<img src = http://qrfree.kaywa.com/?l=1&s=8&d=google.com"); // False! (only example!)
//or
$image = 'real-picture.png'; // True!

$imageData = base64_encode(file_get_contents($image));
$src = 'data:image/png;base64,'.$imageData;
echo '<img src="'.$src.'">';
$image=(“”;
但是,上面的代码适用于具有指定格式的真实图片,如果替换为API URL,则无法读取图像路径。
应该如何更正代码?

假设web请求
http://qrfree.kaywa.com/?l=1&s=8&d=google.com
返回image/png类型的图像,您可以

$image = "http://qrfree.kaywa.com/?l=1&s=8&d=google.com";
echo '<img src="data:image/png;base64,', 
    base64_encode(file_get_contents($image)),
    '">';
$image=”http://qrfree.kaywa.com/?l=1&s=8&d=google.com";
回声';

file\u get\u contents()
需要一个有效的文件名或一个有效的http(s)请求。您的代码传入了一些以HTML开头的内容
,谢谢您的回答。