Rumah  >  Soal Jawab  >  teks badan

Mengapa gambar tidak dipaparkan apabila menggunakan fungsi GD2 untuk menjana kod pengesahan 4 digit?


<?php
session_start();
header("content-type:image/png"); //Tetapkan format imej yang dibuat
$image_width=70; lebar imej
$image_height=18; //Tetapkan ketinggian imej
srand(microtime()*100000); //Tetapkan benih nombor rawak
untuk($i=0;$i<4;$i++){ //Gelung untuk mengeluarkan nombor rawak 4 digit
$new_number.=dechex(rand(0,15));
}
$_SESSION[check_checks]=$new_number; //Tulis kod pengesahan nombor rawak yang diperoleh ke dalam pembolehubah SESI

$num_image =imagecreate($image_width,$image_height); //Buat kanvas
imagecolorallocate($num_image,255,255,255); //Tetapkan warna kanvas
for($i=0;$i<strlen($i<strlen($i<strlen($i<strlen) _SESSION[check_checks]); $i++){ //Gelung untuk membaca kod pengesahan dalam pembolehubah SESI
$font=mt_rand(3,5 ; daripada aksara
imagestring($num_image,$font,$x,$y,$_SESSION[check_checks][$i],$color); //Output aksara secara mendatar A}
ImagePng ($ num_image); daripada format PNG
ImageDestroy ($ num_image); // Keluarkan sumber imej
& Gt;

S.LS.L2637 hari yang lalu1267

membalas semua(1)saya akan balas

  • 风豆丁

    风豆丁2017-08-22 17:08:36

    Terdapat banyak ralat dalam kod anda.

    Komen keluar tajuk("jenis kandungan:imej/png"); dahulu dan selesaikan ralat itu dahulu.

    Secara amnya, pengepala ditetapkan di atas fungsi imagepng() yang menjana imej, supaya ralat boleh dilaraskan dengan mudah.

    balas
    0
  • S.L

    Kod ini telah disalin daripada tutorial, jadi ia sepatutnya betul. Ia tidak berfungsi mengikut kaedah anda, dan ralat berikut berlaku: ( ! ) Notis: Pembolehubah tidak ditentukan: new_number dalam D:wamp64wwwlianxichecks.php pada baris 7 Panggilan Stack # Lokasi Fungsi Memori Masa 1 0.0007 244832 {utama}( ) ...semak.php:0

    S.L · 2017-08-22 23:22:07
    风豆丁

    Beri $num_number nilai awal sebelum gelung for dan subskrip $_SESSION mestilah rentetan. Cuma tukar kepada yang berikut. session_start(); header("content-type:image/png"); //Tetapkan format untuk mencipta imej $image_width=70; //Tetapkan lebar imej $image_height=18; //Tetapkan ketinggian imej srand(microtime()*100000); // Tetapkan benih nombor rawak $nombor_baru = ''; for($i=0;$i<4;$i++){ //Gelung untuk mengeluarkan nombor rawak 4 digit $nombor_baru .= dechex(rand(0,15)); } $_SESSION['check_checks']=$new_number; //Tulis kod pengesahan nombor rawak yang diperoleh ke dalam pembolehubah SESSION $num_image=imagecreate($image_width,$image_height); //Buat kanvas imagecolorallocate($num_image,255,255,255); //Tetapkan warna kanvas for($i=0;$i

    风豆丁 · 2017-08-23 22:23:48
  • Batalbalas