ホームページ  >  記事  >  バックエンド開発  >  PHP登録コード、その解決方法

PHP登録コード、その解決方法

WBOY
WBOYオリジナル
2016-06-13 12:04:501376ブラウズ

php 登録コード
Web サイトの登録コードが表示されません
Firefox を使用して次の問題を確認します (サーバーは text/html, php5.4 を返します)

ローカル環境の場合登録コードを表示するにはphpを5.3に変更します。サーバーは image/jpeg を返します

以下は、php5.3 以降で検証コードが正常に表示されない理由の分析に役立ちます。

session_register("valicode");
$width=50; //まず画像の長さと幅を定義します
$height= isset($_REQUEST[ '高さ '])?$_REQUEST['高さ']:24;
$rand_str = "";
for($i=0;$i<4;$i ){
$rand_str . = chr (mt_rand(48,57));
}
if(function_exists("imagecreate")){

echo "関数イメージ作成が存在します" //20140724 に stone によって追加されました
$_SESSION["valicode"]=strto lower($rand_str);//セッションを登録

$img = imagecreate($width,$height);//画像を生成
imagecolorallocate($img, 255,255,255) ; // ImageColorAllocate が最初に色を定義したときの画像の背景色
$black = imagecolorallocate($img,127,157,185) { (200,255),mt_rand(200,255); mt_rand(200,255)));
}

for($i=0;$i<4;$i ){ //テキストを追加
画像文字列 ($img, mt_rand(2,5) ), $i*10 6, mt_rand(2,5), $rand_str[$i],imagecolorallocate($img,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200) ));
}

imagerectangle($img,0,0,$width-1,$height-1,$black);//まず画像を囲む黒い四角形を作成します

if(function_exists("imagejpeg ")){
ob_clean();
header("content-type:image/jpegrn"); imagejpeg($img);
}else{
ob_clean();
ヘッダー("content-type:image/pngrn"); imagepng($img);
}

imagedestroy($img);

}else {
関数イメージcreate NOTexistes"; //20140724 に stone によって追加
$_SESSION["valicode"]="1234";
ob_clean();
header("content-type:image/jpegrn");
$fp = fopen("./valicode.jpg","r");
echo fread($fp,filesize("./validate.jpg"));
fclose($fp) ;
}

?>



-----解決策---------- -------- ---

echo "fuction image create NOT names"; //20140724 に stone によって追加されましたecho "fuction image create NOT names" //20140724 に stone によって追加されました削除した場合この 2 つの文は正常です。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。