这是一个jpg:http://i.stack.imgur.com/PIFN0.jpg
假设我希望从/img.php?file_name=PIFN0.jpg
以下是我试图让这项工作的方法:
/sample.php
<p>Here's my image:</p>
<img src="/img.php?file_name=PIFN0.jpg">
/img.php
<?php
$url = 'http://i.stack.imgur.com/' . $_GET['file_name'];
header('Content-type: image/jpeg');
imagejpeg($url);
?>
我希望/sample.php
能够显示图片。但这不起作用。我得到的只是一张破碎的图像。我做错了什么?
答案 0 :(得分:7)
使用imagecreatefromjpeg
:
<?php
$url = 'http://i.stack.imgur.com/' . $_GET['file_name'];
header('Content-type: image/jpeg');
imagejpeg(imagecreatefromjpeg($url));
?>
参考:http://php.net/manual/en/function.imagecreatefromjpeg.php
答案 1 :(得分:3)
以下是一个工作示例:
<?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://tuxpaint.org/stamps/stamps/animals/birds/cartoon/tux.png','image/png'); ?>" alt="random logo" />
答案 2 :(得分:3)
无需使用GD功能:
<?php
$url = 'http://i.stack.imgur.com/' . $_GET['file_name'];
header('Content-type: image/jpeg');
readfile($url);
?>
答案 3 :(得分:0)
<?php
header("Content-Type: image/jpeg");
$url = "http://i.stack.imgur.com/PIFN0.jpg";
$imgContents = file_get_contents($url);
$image = @imagecreatefromstring($imgContents);
imagejpeg($image);
?>
答案 4 :(得分:-1)
header('Content-type: image/jpeg');
readfile($_GET['id']);
但是在新服务器中,只能读取本地图像,远程图像是错误的。