PHP生成二维码

阅读391评论0
PHP使用phpqrcode插件可以生产二维码,参数自定义QRcode::png($value, $qrcodsrc, $errorCorrectionLevel, $matrixPointSize, $margin, $saveandprint);value:生产二维码的文本值qrcodsrc:保存二维码的路径。若需要保存,填写路径;不需要保存,定义FAL...

PHP使用phpqrcode插件可以生产二维码,参数自定义


QRcode::png($value, $qrcodsrc, $errorCorrectionLevel, $matrixPointSize, $margin, $saveandprint);

  • value:生产二维码的文本值

  • qrcodsrc:保存二维码的路径。若需要保存,填写路径;不需要保存,定义FALSE

  • errorCorrectionLevel:二维码容错值,默认 L。可选值:L(QR_ECLEVEL_L,7%),M(QR_ECLEVEL_M,15%),Q(QR_ECLEVEL_Q,25%),H(QR_ECLEVEL_H,30%)

  • matrixPointSize:生成二维码大小,默认 4

  • margin:二维码空白区域大小,默认 2

  • saveandprint:保存二维码图片并显示出来,PS:使用此参数时$qrcodsrc必须传递有效路径


下面是PHP使用phpqrcode生成二维码DEOM

include_once "./phpqrcode/phpqrcode.php";
$value="http://webstr.top";
$errorCorrectionLevel = 'H';
$matrixPointSize = 9;
$margin=2;
$qrcodename="/upload/qrcode/qr_".time().".png";
$IsQrcode=false;
$IsLogo=false;
/*不保存二维码,直接输入图片*/
if(!$IsQrcode){
header('Content-Type: image/png');
ob_clean();
QRcode::png($value, false, $errorCorrectionLevel, $matrixPointSize, $margin);
/*将二维码保存到本地*/
}else{
/*
*拓展
*二维码加LOGO
*/
/*不加入LOGO*/
if(!$IsLogo){
QRcode::png($value, $qrcodename, $errorCorrectionLevel, $matrixPointSize, $margin);
/*二维码加LOGO*/
}else{
$logoname="/style/images/logo.png";
if($logoname !== FALSE && file_exists($logoname)){
$QR = imagecreatefromstring(file_get_contents($qrcodename));
$logo = imagecreatefromstring(file_get_contents($logoname));
$QR_width = imagesx($QR);
$QR_height = imagesy($QR);
$logo_width = imagesx($logo);
$logo_height = imagesy($logo);
$logo_qr_width = $QR_width / 5;
$scale = $logo_width / $logo_qr_width;
$logo_qr_height = $logo_height / $scale;
$from_width = ($QR_width - $logo_qr_width) / 2;
imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width, $logo_qr_height, $logo_width, $logo_height);
imagepng($QR,$qrcodename);
}
}
echo "<img src='".$qrcodename."'/>";
}


你可以把代码封装到文件中,比如:qrcode.php,再需要的地方直接传递参数调用即可。

phpqrcode插件一份


文件名称:phpqrcode.zip

文件大小:222.04 KB

更新日期:2020-04-27 15:13:33

作者信息:网络游客

授权类型:免费

0 位网友评论:

欢迎来评论

请填写验证码