PHP图片验证码原代码,需支持gd2.dll扩展,需修改PHP.ini后重启IIS or ap 调用方法<img src="this.php">   程序代码: <?PHP 
session_start(); 
session_register('SafeCode'); 
$type = 'gif'; 
$width= 40; 
$height= 16; 
header("Content-type: image/".$type); 
srand((double)microtime()*1000000); 
$randval = randStr(4,""); 
if($type!='gif' && function_exists('imagecreatetruecolor')){ 
$im = @imagecreatetruecolor($width,$height); 
}else{ 
$im = @imagecreate($width,$height); 

$r = Array(225,211,255,223); 
$g = Array(225,236,237,215); 
$b = Array(225,236,166,125); $key = rand(0,3); $backColor = ImageColorAllocate($im,$r[$key],$g[$key],$b[$key]);//背景色(随机) 
$borderColor = ImageColorAllocate($im, 0, 0, 0);//边框色 
$pointColor = ImageColorAllocate($im, 255, 170, 255);//点颜色 @imagefilledrectangle($im, 0, 0, $width - 1, $height - 1, $backColor);//背景位置 
@imagerectangle($im, 0, 0, $width-1, $height-1, $borderColor); //边框位置 
$stringColor = ImageColorAllocate($im, 255,51,153); for($i=0;$i<=100;$i++){ 
$pointX = rand(2,$width-2); 
$pointY = rand(2,$height-2); 
@imagesetpixel($im, $pointX, $pointY, $pointColor); 
} @imagestring($im, 3, 5, 1, $randval, $stringColor); 
$ImageFun='Image'.$type; 
$ImageFun($im); 
@ImageDestroy($im); 
$_SESSION['SafeCode'] = $randval; 
//产生随机字符串 
function randStr($len=6,$format='ALL') { 
switch($format) { 
case 'ALL': 
$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; break; 
case 'CHAR': 
$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; break; 
case 'NUMBER': 
$chars='0123456789'; break; 
default : 
$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; 
break; 

$string=""; 
while(strlen($string)<$len) 
$string.=substr($chars,(mt_rand()%strlen($chars)),1); 
return $string; 

?>

解决方案 »

  1.   

    我以前在网上COPY这段代码,用IIS调试成功,现在用APACHE了,为什么就不能显示?PHP环境都没变的!
      

  2.   

    加载成功了呀,要不然的话在IIS里就不会正常的了
      

  3.   

    apache启动时并不检查php的配置里库是否加载返回了个错误你可能没显示,设置成显示再看
      

  4.   

    APCAHE里显示的是一个红叉,我再试试看,谢谢
      

  5.   

    配置文件里是这样的:
    error_reporting  =  E_ALL & ~E_NOTICE
    display_errors = On
    应该没有问题的吧?