yii自带验证码怎么做

互联网 19-11-9

总共分为三个方面:控制器配置、模型rules配置和视图配置。

第一步:控制器配置

'captcha' => [          'class' => 'yii\captcha\CaptchaAction',     //     'backColor'=>0x000000,//背景颜色          'maxLength' => 4, //最大显示个数          'minLength' => 4,//最少显示个数          'padding' => 5,//间距          'height'=>45,//高度          'width' => 75,  //宽度       //   'foreColor'=>0xffffff,     //字体颜色          'offset'=>4,  ],

第二步:模型rules配置,即验证配置。

public $verifyCode
['verifyCode', 'captcha','captchaAction'=>'user/captcha','on' => ['login']]

在这条配置中的"captchaAction"加入了配置,即控制器的路由,如果不进行配置的话会走site/captcha的路由,这是框架样例的路由。

第三步:视图中的配置

<?= $form->field($model,'verifyCode')->widget(     Captcha::className(),     [     'template' => '{image}{input}',     'captchaAction'=>'user/captcha', // 此注意要使用自己配置的那个控制器验证码路由     'imageOptions'=>[ 'style'=>'cursor:pointer;width:77px']     ]     )

最后有一个巨坑的问题:由于编码过程中使用了一些windows下的换行符或者空格,导致了未知的输出,会导致验证码图片不能够正常的生成。

这是需要在CaptchaAction类中的renderImageByGD方法中加入如下代码:

imagecolordeallocate($image, $foreColor);   ob_clean(); // 此行为插入代码,目的是清空缓存区为输出图片提供干净空间。 ob_start(); imagepng($image); imagedestroy($image);

php中文网,大量的免费yii入门教程,欢迎在线学习!

以上就是yii自带验证码怎么做的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 自带验证码
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:yii怎么返回404

相关资讯