此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【st_hermit】截止到2008-06-26 17:45:27的历史汇总数据(不包括此帖):
发帖数:2                  发帖分:40                 
结贴数:0                  结贴分:0                  
未结数:2                  未结分:40                 
结贴率:0.00  %            结分率:0.00  %            
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html

解决方案 »

  1.   

    经国务院认证,党中央批准,觉得经典好代码.<?php
    session_start();
    function random($len)
    {
    $srcstr="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    mt_srand();//配置乱数种子
    $strs="";
    for($i=0;$i<$len;$i++){
    $strs.=$srcstr[mt_rand(0,35)];
    }
    /*
       2    名  称:strtoupper
       3    功  能:字串全转为大写\r
       4    传回值:字串
       5    语  法:strtoupper(string str);
       6    说  明:本函式将字串 str 全部变大写字串。\r
       7    范  例:
       8          strtoupper("ab2cd4efg");     结果为AB2CD4EFG
       9          strtoupper("ab1cde4fg");     结果为Ab1CDE4fg
      10    
      11   */
    return strtoupper($strs);
    }
    $str=random(4); //随机生成的字符串
    $width = 50; //验证码图片的宽度
    $height = 25; //验证码图片的高度
    /*
     Content-Type: xxxx/yyyy
     Location: xxxx:yyyy/zzzz
     Status: nnn xxxxxx 
     */
    @header("Content-Type:image/png");
    $_SESSION["code"] = $str;
    //echo $str;
    $im=imagecreate($width,$height);
    //背景色
    $back=imagecolorallocate($im,0xFF,0xFF,0xFF);
    //模糊点颜色
    $pix=imagecolorallocate($im,187,230,247);
    //字体色
    $font=imagecolorallocate($im,41,163,238);
    //绘模糊作用的点
    mt_srand();
    for($i=0;$i<1000;$i++)
    {
    imagesetpixel($im,mt_rand(0,$width),mt_rand(0,$height),$pix);
    }
    imagestring($im, 5, 7, 5,$str, $font);
    imagerectangle($im,0,0,$width-1,$height-1,$font);
    imagepng($im);
    imagedestroy($im);
    $_SESSION["code"] = $str;
    session_destroy();
    ?>