phpでfile_get_contentsを使用して取得した画像を表示するにはどうすればよいですか?file_get_contentsを使用して画像を表示
ヘッダーを変更して、それをエコーする必要がありますか?
ありがとうございます!
phpでfile_get_contentsを使用して取得した画像を表示するにはどうすればよいですか?file_get_contentsを使用して画像を表示
ヘッダーを変更して、それをエコーする必要がありますか?
ありがとうございます!
ヘッダーを変更してエコーする必要がありますか?
。
header("content-type: image/your_image_type");
とそれ以降のデータを送信します。
あなたはそれを行うことができ、またはあなたがあなたのためにそれを出力しreadfile
機能、使用することができます。
header('Content-Type: image/x-png'); //or whatever
readfile('thefile.png');
die();
編集:DERP、明らかに明白なタイプミスを修正します。あなたはのReadFileここで使用する必要がある理由は、それがfile_get_contents通りであり、出力バッファに直接ファイルを出力していることである
$remoteImage = "http://www.example.com/gifs/logo.gif";
$imginfo = getimagesize($remoteImage);
header("Content-type: {$imginfo['mime']}");
readfile($remoteImage);
:
あなたは、このようgetimagesizeから取得することができますreadfileと出力画像のヘッダーを使用することができますファイルをメモリに読み込みます。このファイルはこのコンテンツでは不要で、大容量のファイルには多大な負荷がかかります。
このソリューションは、イメージヘッダーが動的に渡されるため、はるかに優れています。 PHPの私のバージョンでは、3行目(ヘッダー行)の構文が受け入れられませんでした。これはうまくいきました: header( "Content-type:"。$ imginfo ['mime']); – jsleuth
あなたはこのように行うことができます:答え@seengeeする
<?php
$file = 'your_images.jpg';
header('Content-Type: image/jpeg');
header('Content-Length: ' . filesize($file));
echo file_get_contents($file);
?>
$image = 'http://images.itracki.com/2011/06/favicon.png';
// Read image path, convert to base64 encoding
$imageData = base64_encode(file_get_contents($image));
// Format the image SRC: data:{mime};base64,{data};
$src = 'data: '.mime_content_type($image).';base64,'.$imageData;
// Echo out a sample image
echo '<img src="' . $src . '">';
これは受け入れられる回答である必要があります – Kareem
これは私のためにも機能します。 +1 – valkirilov
これは動作しますが、10MBイメージでは少し遅いです。 –
小編集を: を動作させるためには、あなたはそう、あなたがエラーを取得します、変数の周りの中括弧を必要としています。
header("Content-type: {$imginfo['mime']}");
大丈夫、とヘッダ( "Content-Typeの:画像/ JPG"); で十分でしょうか? –
@Belgin JPG画像の場合は、そうです。 –
image/jpegする必要はありませんか? – Rahly