| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | <?phpnamespace common\helpers;use yii\caching\Cache;use yii\captcha\CaptchaAction;class CodeImgGenerate extends CaptchaAction{    private $verifycode;    public function __construct($id, $controller)    {        parent::__construct($id, $controller);        $this->init();        // 更多api请访问yii\captcha\CaptchaAction类文档        // 这里可以初始化默认样式        $this->maxLength = 4;            // 最大显示个数        $this->minLength = 4;            // 最少显示个数        $this->backColor = 0x000000;     // 背景颜色        $this->foreColor = 0x00ff00;     // 字体颜色        $this->width = 100;               // 宽度        $this->height = 58;              // 高度        $this->backColor = Util::captcha_color(1);    // 背景颜色        $this->foreColor = Util::captcha_color(2);    // 字体颜色        $this->padding  = 0;                          // 间距        $this->offset = 4;                            // 字符之间的偏移量    }    /**     * [返回图片二进制]     * @return [type] [description]     */    public function inline()    {        return $this->renderImage($this->getPhrase());    }    /**     * [返回图片验证码]     * @return [type] [description]     */    public function getPhrase()    {        if(!$this->verifycode){        }            $this->verifycode = (string)rand(1234, 9999);            \Yii::$app->cache->set($this->getSessionKey() . '/' . $this->verifycode, $this->verifycode);        return $this->verifycode;    }    public function validate($input, $caseSensitive = false)    {        $code = \Yii::$app->cache->get($this->getSessionKey() . '/' . $input);        $valid = strcasecmp($input, $code) === 0;        return $valid;    }}?>
 |