したがって、私のHTMLマークアップには、次のような画像タグがあります。
<img src="image_generation.php" alt="template" id="image" />
また、「src」属性は、ほとんどランダムに生成される、そこで定義されたいくつかの変数を使用して画像を生成するPHPスクリプトにリンクしています。
ここで、私が実行できるようにしたいのは、画像生成スクリプトを含むページ内のこれらの確率変数にアクセスすることです。技術的にはインクルードファイルですぐに利用できるはずなので、Cookieを送信して画像タグの後でアクセスできると思います。あまり多くの情報を送信したくはありません。変数を2つ(10〜20)だけ送信します。その場合、いくつかのCookieを送信する必要があるため、セッションがより適切な選択であるかどうかはわかりません。インクルードスクリプトが古いセッションを取得し、以前に生成された画像の値を取得するためにページを更新する必要があるため、セッションも問題を引き起こします。DBを設定し、インクルードスクリプトでDBにアクセスすることもできると思いますが、変数は一時的なものであり、削除する必要があり、それは私には大変なことのように思えます。
画像生成スクリプトは次のように終了します。
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
また、ヘッダー呼び出しの前にブラウザに何も送信できません。送信しないと、画像が表示されません。Cookieまたはセッションを使用する場合image_generation.php
、画像を送信し、Cookie/セッションを設定する必要があります。
この特定の状況ではそれぞれに問題があるため、どのオプション(Cookie、セッション、またはDB)も実際には私を納得させません。これを解決する方法を考えられますか?ありがとう。
主な編集#1: スクリプトを含めると、更新せずに以前に生成された画像のセッションを取得します/ Cookieを設定するか、出力バッファリングなしで画像を送信する前/後に含まれるスクリプトにセッションを設定しても問題はありません。