2

ここにjpgがあります:http://i.stack.imgur.com/PIFN0.jpg

スタックオーバーフローのロゴ 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しています。しかし、これはうまくいきません。私が得るのは壊れたイメージだけです。私は何を間違っていますか?

4

5 に答える 5

9

使用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

于 2012-09-27T20:25:12.103 に答える
5

これが実際の例です:

<?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" />
于 2012-09-27T20:27:24.287 に答える
4

GD 関数を使用する必要はありません。

<?php
    $url = 'http://i.stack.imgur.com/' . $_GET['file_name'];
    header('Content-type: image/jpeg');
    readfile($url);
?>
于 2012-09-27T20:30:43.910 に答える
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);
?>
于 2012-09-27T20:25:58.387 に答える