Mengapa gambar tidak dipaparkan apabila menggunakan fungsi GD2 untuk menjana kod pengesahan 4 digit?
S.L
S.L 2017-08-21 20:38:54
0
1
1224

<?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.L
S.L

membalas semua(1)
风豆丁

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 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 pengarang 2017-08-22 23:22:07
  • balas 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<strlen($_SESSION['check_checks']);$i++){ //Gelung untuk membaca kod pengesahan dalam pembolehubah SESSION $font=mt_rand(3,5); //Tetapkan fon rawak $x=mt_rand(1,8)+$image_width*$i/4; //Tetapkan koordinat X lokasi aksara rawak $y=mt_rand(1,$image_height/4); //Tetapkan koordinat Y bagi lokasi aksara rawak $color=imagecolorallocate($num_image,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200)); //Tetapkan warna aksara imagestring($num_image,$font,$x,$y,$_SESSION['check_checks'][$i],$color); //Aksara keluaran mendatar } imagepng($num_image); //Jana imej dalam format PNG imagedestroy($num_image); //Keluarkan sumber imej
    风豆丁 pengarang 2017-08-23 22:23:48
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!