どこで間違いを犯したのかわかりませんhttp://localhost/image.php?application=first
。すべてから以下のコードを実行すると問題ありません。
session_start();
$name = $_GET['application'];
$text = rand(10000,99999);
$_SESSION['application'][$name] = $text;
$height = 25;
$width = 65;
$image_p = imagecreate($width, $height);
$black = imagecolorallocate($image_p, 0, 0, 0);
$white = imagecolorallocate($image_p, 255, 255, 255);
$font_size = 14;
imagestring($image_p, $font_size, 5, 5, $text, $white);
imagejpeg($image_p, null, 80);
しかし、私がこれのためにコードを変更したとき
if (isset($_GET['application']) && !empty($_GET['application'])) {
if (isset($_GET['image']) && $_GET['image'] == 'get'){
session_start();
$name = $_GET['application'];
$text = rand(10000,99999);
$_SESSION['application'][$name] = $text;
$height = 25;
$width = 65;
$image_p = imagecreate($width, $height);
$black = imagecolorallocate($image_p, 0, 0, 0);
$white = imagecolorallocate($image_p, 255, 255, 255);
$font_size = 14;
imagestring($image_p, $font_size, 5, 5, $text, $white);
imagejpeg($image_p, null, 80);
}
}
次に、ブラウザでRAW形式を取得するので、追加します
header('Content-type: image/jpeg');
imagejpeg($image_p, null, 80);
コードにアクセスすると、画像が中断されたというメッセージが表示されますが、ドライブに保存してIrfanViewから起動すると、正常に開きます。
機能をテストしていたことを付け加えたいのですがob_start()
、何も変わりませんでした。