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

时间:2019-03-22 10:30:55

标签: php get

我想使用GET方法(3个参数:Key,ImageID,Size)显示来自php url的一些远程图像。 例如: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" />

有什么主意吗??

2 个答案:

答案 0 :(得分:0)

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

<?php

函数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" />

答案 1 :(得分: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" />