0

Php の gd ライブラリを使用して、マイページにメールを画像として表示しようとしているので、スパマーが使用することはできません。問題は、私がフォローしているチュートリアルが Content-type: image/jpeg のヘッダーを使用していることです。つまり、このページには画像しかありません。

GD ライブラリを使用して Html/Php ページに画像を表示するにはどうすればよいですか? または、それを行う他の方法はありますか?

4

1 に答える 1

1

ページのヘッダーを変更すると、そのヘッダーに従ってページ全体がレンダリングされます。メールのようなものを使用する場合、単一ページのままにしたい場合は、いくつかのオプションがあります.

最初のオプションは、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 ステートメントで処理しているだけです。

于 2013-06-16T16:35:00.097 に答える