URL получить не будет работать на Google Chrome
Привет у меня есть проблема с разделом GET Google Chrome. Вы можете понять лучше с этим DEMO
Пожалуйста, откройте демонстрационную страницу, используя Google Chrome и Internet Explorer или Firefox. Он отлично работает в Internet Explorer, Firefox или других браузерах, но работает не только в Chrome.
Любой может помочь мне здесь, пожалуйста.
Коды файла code.php находятся здесь:
<?php if ( !isset( $_SESSION ) ) session_start(); header( "(anti-spam-content-type:) image/png" );
$acf_num = rand( 0, 9999 );
$code_num = rand( 0, 24 );
$mixed_string = substr( md5( $acf_num ), $code_num, 5 ); // Length of String
$mixed_md5 = md5( $mixed_string );
$_SESSION['SocialMaterial']['AnimationContactForm']['verifyCode'] = $mixed_md5;
// Verification Image Background randomizer
$rand = dirname( dirname( __FILE__ ) ) . '/';
$CoDes = array(
$rand . 'acf_img/verify/1.png',
$rand . 'acf_img/verify/2.png',
$rand . 'acf_img/verify/3.png'
);
$VerifyCodes = array_rand( $CoDes, 1 );
// Verification Image Configurations
$img_handle = imagecreatefrompng( $CoDes[$VerifyCodes] );
$text_colour = imagecolorallocate( $img_handle, 255, 255, 255 );
$font_size = 50;
$size_array = getimagesize( $CoDes[$VerifyCodes] );
$img_w = $size_array[0];
$img_h = $size_array[1];
$horiz = round( ( $img_w/2 )-( ( strlen( $mixed_string )*imagefontwidth( 50 ) )/2 ), 1 );
$vert = round( ( $img_h/2 )-( imagefontheight( $font_size )/2 ) );
// Make the Verification Image
imagestring( $img_handle, $font_size, $horiz, $vert, $mixed_string, $text_colour );
imagepng( $img_handle );
// Destroy the Image to keep Server Space
imagedestroy( $img_handle );
Проблема консоли разработчика заключается в следующем:
2 ответа
Просто измените ваши коды code.php следующим образом:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
if ( !isset( $_SESSION ) ) session_start();
header('Content-type: image/png');
header('Content-transfer-encoding: binary');
$acf_num = rand( 0, 9999 );
$code_num = rand( 0, 24 );
$mixed_string = substr( md5( $acf_num ), $code_num, 5 ); // Length of String
$mixed_md5 = md5( $mixed_string );
header("Content-Disposition: inline; fileimg= $acf_num-$code_num");
$_SESSION['SocialMaterial']['AnimationContactForm']['verifyCode'] = $mixed_md5;
// Verification Image Background randomizer
$rand = dirname( dirname( __FILE__ ) ) . '/';
$CoDes = array(
$rand . 'acf_img/verify/1.png',
$rand . 'acf_img/verify/2.png',
$rand . 'acf_img/verify/3.png'
);
$VerifyCodes = array_rand( $CoDes, 1 );
// Verification Image Configurations
$img_handle = imagecreatefrompng( $CoDes[$VerifyCodes] );
$text_colour = imagecolorallocate( $img_handle, 255, 255, 255 );
$font_size = 50;
$size_array = getimagesize( $CoDes[$VerifyCodes] );
$img_w = $size_array[0];
$img_h = $size_array[1];
$horiz = round( ( $img_w/2 )-( ( strlen( $mixed_string )*imagefontwidth( 50 ) )/2 ), 1 );
$vert = round( ( $img_h/2 )-( imagefontheight( $font_size )/2 ) );
// Make the Verification Image
imagestring( $img_handle, $font_size, $horiz, $vert, $mixed_string, $text_colour );
imagepng( $img_handle );
// Destroy the Image to keep Server Space
imagedestroy( $img_handle );
Журналы изменений:
Удалено: header( "(anti-spam-content-type:) image/png" );
Добавлены заголовки, потому что вы должны сообщить браузеру, какой тип изображения с такими заголовками HTML:
header('Content-type: image/png');
header('Content-transfer-encoding: binary');
header("Content-Disposition: inline; fileimg= $acf_num-$code_num");
Я не могу проверить, решит ли это вашу проблему, но вам нужно сообщить браузеру, какой это тип изображения с HTML-заголовками, например:
header('Content-type: image/png');
header('Content-transfer-encoding: binary');
header('Content-length: '.$size);
это для PNG-файла размером $size
, Заголовки должны быть отправлены в браузер, прежде чем что-либо еще.