尝试显示远程图像时出现问题(GET php) - 损坏/清空图像

问题描述 投票:0回答:2

我想用一个带有GET方法的php url显示一些远程图像(3个参数:Key,ImageID,Size)。例如:http://www.example.com/getImage?Key=thekey&ImageId=2&Size=1

我跟着这个:https://stackoverflow.com/a/12629513(用jpeg替换内容类型),尝试在网上随机jpeg图像,它工作。

但是,当我用我的php url尝试这个方法时:文件已损坏。

<?php
function img_create($filename, $mime_type)
{
  $content = file_get_contents($filename);
  $base64   = base64_encode($content);
  return ('data:' . $mime_type . ';base64,' . $base64);
}
?>
<img src="<?php print img_create('http://www.example.com/getImage?Key=thekey&ImageId=2&Size=1','image/jpeg'); ?>" alt="random logo" />

任何的想法..?

php get
2个回答
0
投票

试试这个:

<?php

function img_create($filename, $mime_type) { 
   $content = file_get_contents($filename); 
   $base64   = base64_encode($content);
   $src_string = 'data:'.$mime_type.';base64,'.$base64;
   echo $src_string;
}
?>

<img src="<?php img_create('http://www.example.com/getImage?Key=thekey&ImageId=2&Size=1','image/jpeg'); ?>" alt="random logo" />

0
投票

您的代码工作正常只是,我认为您的图像URl存在一些问题

<?php

function img_create($ filename,$ mime_type){

$ content = file_get_contents($ filename);

$ base64 = base64_encode($ content);

return('data:'。$ mime_type。'; base64,'。$ base64);

}

?>

<img src="<?php print img_create('https://images.unsplash.com/photo-1497316730643-415fac54a2af?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&w=1000&q=80','image/jpeg'); ?>" alt="random logo" />
© www.soinside.com 2019 - 2024. All rights reserved.