Php の gd ライブラリを使用して、マイページにメールを画像として表示しようとしているので、スパマーが使用することはできません。問題は、私がフォローしているチュートリアルが Content-type: image/jpeg のヘッダーを使用していることです。つまり、このページには画像しかありません。
GD ライブラリを使用して Html/Php ページに画像を表示するにはどうすればよいですか? または、それを行う他の方法はありますか?
ページのヘッダーを変更すると、そのヘッダーに従ってページ全体がレンダリングされます。メールのようなものを使用する場合、単一ページのままにしたい場合は、いくつかのオプションがあります.
最初のオプションは、base64 エンコーディングを使用することです。
//create the image, $im
//omit the header settings
ob_start();
imagejpeg($im);
$data = ob_get_contents();
ob_end_clean();
echo '<img src="data:image/jpeg;base64,'.base64_encode($data).'">';
ここで出力バッファを配置して、クライアントへの送信を停止し、変数に格納します$data
。次に、それを を使用してエンコードbase64_encode
し、ブラウザーが解釈できる方法でページに出力します。
使用できるget メソッドもあります。
if(isset($_GET['email'])) {
header("Content-type: image/jpeg");
//create the image, $im
imagejpeg($im);
imagedestroy($im);
die;
}
echo '<img src="?email">';
本当に、メール入力を送信し、if ステートメントで処理しているだけです。