php二维码生成

 更新时间:2015年10月19日 16:28:34   投稿:lijiao  
在二维码越来越普及之际。我们需要了解一下什么是二维码,作为了一个php programer,我们更需要知道如何使用 php生成二维码。废话少说,下面说正题。

本文介绍两种使用 php 生成二维码的方法。
(1)利用google生成二维码的开放接口,代码如下:

/** 
 * google api 二维码生成【QRcode可以存储最多4296个字母数字类型的任意文本,具体可以查看二维码数据格式】 
 * @param string $data 二维码包含的信息,可以是数字、字符、二进制信息、汉字。不能混合数据类型,数据必须经过UTF-8 URL-encoded.如果需要传递的信息超过2K个字节,请使用POST方式 
 * @param int $widhtHeight 生成二维码的尺寸设置 
 * @param string $EC_level 可选纠错级别,QR码支持四个等级纠错,用来恢复丢失的、读错的、模糊的、数据。 
 *       L-默认:可以识别已损失的7%的数据 
 *       M-可以识别已损失15%的数据 
 *       Q-可以识别已损失25%的数据 
 *       H-可以识别已损失30%的数据 
 * @param int $margin 生成的二维码离图片边框的距离 
 */ 
function generateQRfromGoogle($data,$widhtHeight='150',$EC_level='L',$margin='0'){ 
 $url=urlencode($data); 
 echo '<img src="http://chart.apis.google.com/chart?chs='.$widhtHeight.'x'.$widhtHeight.'&cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.$data.'" widhtHeight="'.$widhtHeight.'" widhtHeight="'.$widhtHeight.'"/>'; 
} 

使用方法:

$data='版权所有:https://www.jb51.net'; 
generateQRfromGoogle($data); 

post方法实现请求google api 生成二维码的方式:

function qrcode($width,$height,$string){ 
 $post_data=array(); 
 $post_data['cht']='qr'; 
 $post_data['chs']=$width."x".$height; 
 $post_data['chl']=$string; 
 $post_data['choe']="UTF-8"; 
 $url="http://chart.apis.google.com/chart"; 
 $data_Array=array(); 
 foreach($post_data as $key=>$value){ 
  $data_Array[]=$key.'='.$value; 
 } 
 $data=implode("&",$data_Array); 
 $ch=curl_init(); 
 curl_setopt($ch, CURLOPT_POST, 1); 
 curl_setopt($ch, CURLOPT_HEADER, 0); 
 curl_setopt($ch, CURLOPT_URL, $url);  
 curl_setopt($ch, CURLOPT_POSTFIELDS,$data); 
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
 $result=curl_exec($ch); 
 //echo "<img src =\"data:image/png;base64,".base64_encode($result)."\" >"; 注意,不写header的写法 
 return $result; 
} 

使用方法:

header("Content-type:image/png"); 
$width=300; 
$height=300; 
$data='版权所有:https://www.jb51.net';
echo qrcode($width,$height,$data); 

当然生成的图片同上面是一样的。

(2)使用php QR Code类库生成二维码
注意使用该类库必须首先下载类库包,下载地址:
地址:http://phpqrcode.sourceforge.net/
下载下来的压缩包里面有很多示例,可以自行研究,下面给出一个简单的使用案例(具体参数的意思和上面大同小异):

<?php 
include "./phpqrcode.php"; 
$data='版权所有:https://www.jb51.net'; 
$errorCorrectionLevel="L"; 
$matrixPointSize="4"; 
QRcode::png($data,false,$errorCorrectionLevel,$matrixPointSize);

以上所述就是本文的全部内容了,希望对大家熟练掌握php生产二维码能够有所帮助。

相关文章

  • php查看session内容的函数

    php查看session内容的函数

    之所以是能写出来这个函数,主要是对该网站的session结构清楚
    2008-08-08
  • 如何用php获取程序执行的时间

    如何用php获取程序执行的时间

    本篇文章是对使用php获取程序执行的时间进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP7中对十六进制字符串处理的问题详解

    PHP7中对十六进制字符串处理的问题详解

    在本篇文章里小编给大家整理的是一篇关于PHP7中对十六进制字符串处理的问题详解内容,有需要的朋友们可以跟着学习下。
    2021-11-11
  • PHP/ThinkPHP实现批量打包下载文件的方法示例

    PHP/ThinkPHP实现批量打包下载文件的方法示例

    最近因为工作的需要,要根据条件自动打包供下载的功能,查找相关资料终于解决了,所以下面这篇文章主要给大家介绍了利用PHP或者ThinkPHP如何实现批量打包下载文件的方法示例,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07
  • php5.3 注意事项说明

    php5.3 注意事项说明

    本篇文章是对php5.3中需要注意的一些事项进行了详细的分析介绍,需要的朋友参考下
    2013-07-07
  • 基于PHP实现个人博客网站

    基于PHP实现个人博客网站

    这篇文章主要为大家介绍了利用PHP+HTML制作一个个人博客网站,文中的示例代码讲解详细,感兴趣的小伙伴快跟随小编一起了解一下
    2022-04-04
  • 编写安全 PHP应用程序的七个习惯深入分析

    编写安全 PHP应用程序的七个习惯深入分析

    本篇文章是对编写安全-PHP应用程序的七个习惯进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • phpstudy中MySQL数据库无法启动的解决方法

    phpstudy中MySQL数据库无法启动的解决方法

    自己在电脑上安装了MySQL数据库,MySQL的服务名为MySQL,这会与phpstudy的数据库的服务名发生冲突,从而造成phpstudy中的数据库无法启动,所以本文给大家介绍了phpstudy中MySQL数据库无法启动的解决方法,需要的朋友可以参考下
    2024-06-06
  • PHP 执行系统外部命令 system() exec() passthru()

    PHP 执行系统外部命令 system() exec() passthru()

    PHP作为一种服务器端的脚本语言,象编写简单,或者是复杂的动态网页这样的任务,它完全能够胜任。但事情不总是如此,有时为了实现某个功能,必须借助于操作系统的外部程序(或者称之为命令),这样可以做到事半功倍。
    2009-08-08
  • PHP判断访客是否手机端(移动端浏览器)访问的方法总结【4种方法】

    PHP判断访客是否手机端(移动端浏览器)访问的方法总结【4种方法】

    这篇文章主要介绍了PHP判断访客是否手机端(移动端浏览器)访问的方法,结合实例形式总结分析了php基于HTTP_X_WAP_PROFILE、HTTP_VIA、HTTP_USER_AGENT、HTTP_ACCEPT等4种方法判断访客类型的相关操作技巧,需要的朋友可以参考下
    2019-03-03

最新评论