目前php生成php二维码生成代码可以有以上几种方式

php生成二维码的三种方法 - 简书
php生成二维码的三种方法
最简单最实例的goolge开源方法,不过反应有点慢
1.google开放api
代码如下:
$urlToEncode="http://www.helloweba.com";
generateQRfromGoogle($urlToEncode);
* google api 二维码生成【QRcode可以存储最多4296个字母数字类型的任意文本,具体可以查看二维码数据格式】
* @param string $chl 二维码包含的信息,可以是数字、字符、二进制信息、汉字。
不能混合数据类型,数据必须经过UTF-8 URL-encoded
* @param int $widhtHeight 生成二维码的尺寸设置
* @param string $EC_level 可选纠错级别,QR码支持四个等级纠错,用来恢复丢失的、读错的、模糊的、数据。
L-默认:可以识别已损失的7%的数据
M-可以识别已损失15%的数据
Q-可以识别已损失25%的数据
H-可以识别已损失30%的数据
* @param int $margin 生成的二维码离图片边框的距离
function generateQRfromGoogle($chl,$widhtHeight ='150',$EC_level='L',$margin='0')
$chl = urlencode($chl);
echo '&img src="http://chart.apis.google.com/chart?chs='.$widhtHeight.'x'.$widhtHeight.'
&cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.$chl.'" alt="QR code" widhtHeight="'.$widhtHeight.'
" widhtHeight="'.$widhtHeight.'"/&';
2.php类库PHP QRCode
下载官网提供的类库后,只需要使用phpqrcode.php就可以生成二维码了,当然您的PHP环境必须开启支持GD2。phpqrcode.php提供了一个关键的png()方法,其中参数$frame表示生成的信息文本;参数$filename 表示是否输出二维码图片文件(文件路径,包含图片名和后缀),默认否;参数$pixelPerPoint 表示容错率,也就是有被覆盖的区域还能识别参数,$outerFrame表示生成图片大小,默认是4;参数$saveandprint表示是否保存二维码。
代码如下:
public static function png($frame, $filename = false, $pixelPerPoint = 4, $outerFrame = 4,$saveandprint=FALSE)
$image = self::image($frame, $pixelPerPoint, $outerFrame);
if ($filename === false) {
Header("Content-type: image/png");
ImagePng($image);
if($saveandprint===TRUE){
ImagePng($image, $filename);
header("Content-type: image/png");
ImagePng($image);
ImagePng($image, $filename);
ImageDestroy($image);
调用PHP QR Code:
include 'phpqrcode.php';
//只需要phpqrcode一个文件即可,下载的里面其他的没什么用
QRcode::png('http://www.baidu.com');
实际应用中,我们会在二维码的中间加上自己的LOGO,已增强宣传效果。那如何生成含有logo的二维码呢?其实原理很简单,先使用PHP QRCode生成一张二维码图片,然后再利用php的image相关函数,将事先准备好的logo图片加入到刚生成的原始二维码图片中间,然后重新生成一张新的二维码图片。
include './phpqrcode.php';
QRcode::png('http://www.baidu.com','qrcode.png',2,10,true);
$logo = 'logo.jpg';//准备好的logo图片
$QR = 'qrcode.png';//已经生成的原始二维码图
if ($logo !== FALSE) {
$QR = imagecreatefromstring(file_get_contents($QR));
$logo = imagecreatefromstring(file_get_contents($logo));
$QR_width = imagesx($QR);//二维码图片宽度
$QR_height = imagesy($QR);//二维码图片高度
$logo_width = imagesx($logo);//logo图片宽度
$logo_height = imagesy($logo);//logo图片高度
$logo_qr_width = $QR_width / 5;
$scale = $logo_width/$logo_qr_
$logo_qr_height = $logo_height/$
$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, 'newcode.png');
echo '![](./newcode.png)';
对于第二种方法:如果不使用$filename,第二个参数为false的时候,就不会把二维码图片保存,而是直接输出。
现在还有一些如有:libqrencode与QRcode Perl CGI & PHP scripts二维码生成插件大家喜欢也可看看。
3.基于jquery的二维码生成插件qrcode,在页面中调用该插件就能生成对应的二维码。
qrcode其实是通过使用jQuery实现图形渲染,画图,支持canvas(HTML5)和table两种方式,
可以到获取最新的代码。
(1)、首先在页面中加入jquery库文件和qrcode插件。
&script type="text/javascript" src="jquery.js"&&/script&
&script type="text/javascript" src="jquery.qrcode.min.js"&&/script&
(2)、在页面中需要显示二维码的地方加入以下代码:
&div id="code"&&/div&
(3)、调用qrcode插件。
qrcode支持canvas和table两种方式进行图片渲染,默认使用canvas方式,效率最高,当然要浏览器支持html5。直接调用如下:
$('#code').qrcode("http://www.helloweba.com"); //任意字符串
您也可以通过以下方式调用:
$("#code").qrcode({
render: "table", //table方式
width: 200, //宽度
height:200, //高度
text: "www.helloweba.com" //任意内容
这样就可以在页面中直接生成一个二维码,你可以用手机“扫一扫”功能读取二维码信息。
我们试验的时候发现不能识别中文内容的二维码,通过查找多方资料了解到,jquery-qrcode是采用charCodeAt()方式进行编码转换的。而这个方法默认会获取它的Unicode编码,如果有中文内容,在生成二维码前就要把字符串转换成UTF-8,然后再生成二维码。您可以通过以下函数来转换中文字符串:
function toUtf8(str) {
var out, i, len,
len = str.
for(i = 0; i & i++) {
c = str.charCodeAt(i);
if ((c &= 0x0001) && (c &= 0x007F)) {
out += str.charAt(i);
} else if (c & 0x07FF) {
out += String.fromCharCode(0xE0 | ((c && 12) & 0x0F));
out += String.fromCharCode(0x80 | ((c &&
6) & 0x3F));
out += String.fromCharCode(0x80 | ((c &&
0) & 0x3F));
out += String.fromCharCode(0xC0 | ((c &&
6) & 0x1F));
out += String.fromCharCode(0x80 | ((c &&
0) & 0x3F));
以下示例:
var str = toUtf8("随便来点啥");
$('#code').qrcode(str);
百战程序员_ Java1573题 QQ群:034603 掌握80%年薪20万掌握50%年薪10万 全程项目穿插, 从易到难,含17个项目视频和资料持续更新,请关注www.itbaizhan.com 国内最牛七星级团队马士兵、高淇等11位十年开发经验专...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金相信有很多朋友...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金 相信有很多...
Swift版本点击这里欢迎加入QQ群交流:
最新更新日期:17-11-01 About A curated list of iOS objective-C ecosystem. How to Use Simply presscommand+F+&xxx...
完整App@ HackerNews-React-Native用 React Native 完成的 HackerNews 客户端。 WeChat实现类似微信朋友圈或者QQ空间,评论回复,九宫格布局。处理键盘弹出后定位到当前点击的被评论人处。另:滑动时候FPS在57-60之间,...
15、华与华人的素质要求:企业家、生意经、创意人、手艺人、企业管理专家、管理心理学家、组织行为学家。 我们的工作,是从做营销策划和品牌设计、广告创意开始的,在品牌营销创意上,我们是“专家”。用了品牌、营销、策划、创意、设计这个多词来描述自己,已经不是那么“专业分工”了,有一...
坚持坚持再坚持,专业专业更专业,你就能成为销冠。 ——IEC销冠语录。 8月4日,碧桂园IEC(国际展销中心)南区《最强能力者》新员工培训如火如荼进行中! 早上,我们很荣幸有请到李莎莎老师为学员讲授TTT课程,为学员们量身打造的《城市森林讲解技巧(理论篇)》使众精英学员掌握...
ARC 环境下编译器不会自动管理 CF 对象的内存,所以当我们创建了一个 CF 对象以后就需要我们使用 CFRelease 将其手动释放。 __bridge CF 对象和 OC 对象转化时只涉及对象类型不涉及对象所有权的转化用 __ OC -& CF 时不用 ...
慈行牛城2月10日讯,慈行牛城带你玩转微公益,赶紧看看一起玩起来吧! 指尖爱,手指撬动新公益,按照下面的提示步骤开始你的公益梦想吧,你的每次爱心分享将会为公益带来爱心善款捐助,每天将链接分享一次到你的所有微信群,很容易就能众筹到5-10元的爱心款,一年下来将会是一个可怕的数...
作为一个神经敏感者,中午加班不小心喝了一袋绿茶,晚上又吃多了以后我就知道今晚是注定睡不着了……但是即将到来的一周要实现年度工作量结算,所以必须早睡早起,完成最后冲刺,毕竟关系到年终奖哇。 不说了,来总结下如何才能实现早睡早起吧。至少我曾经坚持过将近半个月。 1. 白天尽量在...PHP生成二维码功能整合到TP3.2.3 - ThinkPHP框架
在网上down了一个二维码插件PHPQRcode,整合到了ThinkPHP 3.2.3,然后写了个外部自定义函数直接调用生成二维码,根据参数不同有不同尺寸效果,整合其实挺简单,分享给大家!
今天做项目时要用到生成二维码这个功能,就研究了一下二维码。环境支持:GD库、文件夹可写权限
下载后,我测试了一下,发现只需要其中一个文件就可以完成本功能了,如下图所示文件:
将phpqrcode.php重命名为符合thinkPHP文件规则的文件名class.phpqrcode.php,放置到:ThinkPHP/Library/Vendor/PHPQRcode/class.phpqrcode.php (注意大小写哦)
注意:现在放置的是thinkPHP默认的第三方类库目录,如果在index.php定义了如define('VENDOR_PATH',APP_PATH.'Common/Vendor/'); 那么文件放置的路径要与之相同,免得出现class 'QRcode' not found情况。
2、创建用户自定义函数文件Application/Home/Common/function.php,放置如下函数:/**
&*&功能:生成二维码
&*&@param&string&$qr_data&&&手机扫描后要跳转的网址
&*&@param&string&$qr_level&&默认纠错比例&分为L、M、Q、H四个等级,H代表最高纠错能力
&*&@param&string&$qr_size&&&二维码图大小,1-10可选,数字越大图片尺寸越大
&*&@param&string&$save_path&图片存储路径
&*&@param&string&$save_prefix&图片名称前缀
function&createQRcode($save_path,$qr_data='PHP&QR&Code&:)',$qr_level='L',$qr_size=4,$save_prefix='qrcode'){
&&&&if(!isset($save_path))&return&'';
&&&&//设置生成png图片的路径
&&&&$PNG_TEMP_DIR&=&&&$save_
&&&&//导入二维码核心程序
&&&&vendor('PHPQRcode.class#phpqrcode');&&//注意这里的大小写哦,不然会出现找不到类,PHPQRcode是文件夹名字,class#phpqrcode就代表class.phpqrcode.php文件名
&&&&//检测并创建生成文件夹
&&&&if&(!file_exists($PNG_TEMP_DIR)){
&&&&&&&&mkdir($PNG_TEMP_DIR);
&&&&$filename&=&$PNG_TEMP_DIR.'test.png';
&&&&$errorCorrectionLevel&=&'L';
&&&&if&(isset($qr_level)&&&&in_array($qr_level,&array('L','M','Q','H'))){
&&&&&&&&$errorCorrectionLevel&=&&&$qr_
&&&&$matrixPointSize&=&4;
&&&&if&(isset($qr_size)){
&&&&&&&&$matrixPointSize&=&&&min(max((int)$qr_size,&1),&10);
&&&&if&(isset($qr_data))&{
&&&&&&&&if&(trim($qr_data)&==&''){
&&&&&&&&&&&&die('data&cannot&be&empty!');
&&&&&&&&//生成文件名&文件路径+图片名字前缀+md5(名称)+.png
&&&&&&&&$filename&=&$PNG_TEMP_DIR.$save_prefix.md5($qr_data.'|'.$errorCorrectionLevel.'|'.$matrixPointSize).'.png';
&&&&&&&&//开始生成
&&&&&&&&QRcode::png($qr_data,&$filename,&$errorCorrectionLevel,&$matrixPointSize,&2);
&&&&}&else&{
&&&&&&&&//默认生成
&&&&&&&&QRcode::png('PHP&QR&Code&:)',&$filename,&$errorCorrectionLevel,&$matrixPointSize,&2);
&&&&if(file_exists($PNG_TEMP_DIR.basename($filename)))
&&&&&&&&return&basename($filename);
&&&&&&&&return&FALSE;
}3、开始调用,假设通过网址/?m=home&c=index&a=qrcode访问,那我们相应的在Application/Home/Controller/IndexController.class.php文件里加入方法,如下:&?php
namespace&Home\C
use&Think\C
class&IndexController&extends&Controller&{
&&&&public&function&index(){&}
&&&&public&function&qrcode(){
&&&&&&&&$save_path&=&isset($_GET['save_path'])?$_GET['save_path']:ROOT_PATH.'Public/qrcode/';&&//图片存储的绝对路径
&&&&&&&&$web_path&=&isset($_GET['save_path'])?$_GET['web_path']:'/Public/qrcode/';&&&&&&&&//图片在网页上显示的路径
&&&&&&&&$qr_data&=&isset($_GET['qr_data'])?$_GET['qr_data']:'http://www.zetadata.com.cn/';
&&&&&&&&$qr_level&=&isset($_GET['qr_level'])?$_GET['qr_level']:'H';
&&&&&&&&$qr_size&=&isset($_GET['qr_size'])?$_GET['qr_size']:'10';
&&&&&&&&$save_prefix&=&isset($_GET['save_prefix'])?$_GET['save_prefix']:'ZETA';
&&&&&&&&if($filename&=&createQRcode($save_path,$qr_data,$qr_level,$qr_size,$save_prefix)){
&&&&&&&&&&&&$pic&=&$web_path.$
&&&&&&&&echo&&&img&src='&.$pic.&'&&;
}4、附不同参数生成的不同图片尺寸:
5、生成的效果如下,扫我,试试看!
6、或直接下载文件包上传到网站根目录即可使用。下载文件包&&
积分:1467
ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。&&&&&&&&&&&&&&&&&&
posts - 72,comments - 14,trackbacks - 0
方法一:(调用google二维码接口,本人测试网不好,不好用!)
3 //1.封装生成二维码图片的函数(方法)
/** *利用google api生成二维码图片
* $content:二维码内容参数
* $size:生成二维码的尺寸,宽度和高度的值
* $lev:可选参数,纠错等级
* $margin:生成的二维码离边框的距离
17 function create_erweima($content, $size = '100', $lev = 'L', $margin= '0')
$content = urlencode($content);
$image = '&img src="http://chart.apis.google.com/chart?chs='.$size.'x'.$size.'&cht=qr&chld='.$lev.'|'.$margin.'&chl='.$content.'"
widht="'.$size.'" height="'.$size.'" /&';
return $image;
27 /* * 使用注意事项 * 1.先构建内容字符串 * 2.调用函数生成 */
29 //构建内容字符串
31 //$content="纯文本信息";
32 $content="尝试一下内容测试";
34 //调用函数生成二维码图片
36 echo create_erweima($content);
38 $url="http://www.lpcblog.com";
39 echo create_erweima($url);
方法二:(就是用PHP二维码生成类库QRcode,很好用,简单快捷!)
1 //引入核心库文件
3 include "phpqrcode/phpqrcode.php";
5 //定义纠错级别
7 $errorLevel = "L";
9 //定义生成图片宽度和高度;默认为3
11 $size = "4";
13 //定义生成内容
15 // $content="尝试一下内容测试";
16 // //调用QRcode类的静态方法png生成二维码图片//
18 // QRcode::png($content, false, $errorLevel, $size);
20 //生成网址类型
22 $url="http://www.lpcblog.com/";
26 QRcode::png($url, false, $errorLevel, $size);
不管生成内容的还是二维码的其实都一样,看你怎么用啦!
阅读(...) 评论()php生成二维码的几种方式 - snowfly123 - 博客园
一些php生成的方式:1.google开放api;2.php类库PHP QR Code;3.libqrencode;4.QRcode Perl CGI & PHP scripts1.google开放api&$urlToEncode="http://www.jbxue.com";&generateQRfromGoogle($urlToEncode);&function&generateQRfromGoogle($chl,$widhtHeight&='150',$EC_level='L',$margin='0')&{&$url&=&urlencode($url);&echo&'&img&src="http://chart.apis.google.com/chart?chs='.$widhtHeight.'x'.$widhtHeight.'&cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.$chl.'"&alt="QR&code"&widhtHeight="'.$size.'"&widhtHeight="'.$size.'"/&';&}&2.php类库PHP QR Code&PHP QR Code is open source (LGPL) library for generating QR Code,&2-dimensional barcode. Based on libqrencode C library,&provides API for creating QR Code barcode images (PNG, JPEG thanks to GD2).&Implemented purely in PHP, with no external dependencies (except GD2 if needed).&地址:http://phpqrcode.sourceforge.net/&下载:http://sourceforge.net/projects/phpqrcode/&实例:&&?&include&"./phpqrcode/phpqrcode.php";&$value="http://www.jbxue.com";&$errorCorrectionLevel&=&"L";&$matrixPointSize&=&"4";&QRcode::png($value,&false,&$errorCorrectionLevel,&$matrixPointSize);&exit;&?&&主页地址:http://phpqrcode.sourceforge.net/,站点里能直接下载源码,下载后解压到web目录,通过网页访问,就可以看到demo演示。&&Data表示要记录的数据,如果是存储utf-8编码的中文,最多984个。&ECC表示纠错级别, 纠错级别越高,生成图片会越大。&L水平 7%的字码可被修正&M水平 15%的字码可被修正&Q水平 25%的字码可被修正&H水平 30%的字码可被修正Size表示图片每个黑点的像素。&调用范例:&include&"qrlib.php";&QRcode::png($data,&$filename,&$errorCorrectionLevel,&$matrixPointSize,&$margin);&/*&$data&数据&$filename&保存的图片名称&$errorCorrectionLevel&错误处理级别&$matrixPointSize&每个黑点的像素&$margin&图片外围的白色边框像素&*/&QR码详细原理可以参考QR维基百科,中文版介绍比较少,英文版介绍很全面,推荐看英文版的。&另外,现在QR码已经有彩色版的了,还可以嵌入个性图片。&3.libqrencode&地址:http://fukuchi.org/works/qrencode/index.en.html&php支持请参考:http://hirokawa.netflowers.jp/entry/4900/&4.QRcode Perl CGI & PHP scripts&地址:http://www.swetake.com/qr/qr_cgi.html目前php生成二维码可以有以上几种方式
目前php生成二维码可以有以上几种方式
目前php生成二维码可以有以下几种方式
目前php生成二维码可以有以下几种方式
1.google开放api
$urlToEncode="http://bbs.lewanchina.com
generateQRfromGoogle($urlToEncode);
function generateQRfromGoogle($chl,$widhtHeight =&150&,$EC_level=&L&,$margin=&0&)
?$url = urlencode($url);
?echo &&img src="/photo.php?url=http://chart.apis.google.com/chart?chs=&.$widhtHeight.&x&.$widhtHeight.&&cht=qr&chld=&.$EC_level.&|&.$margin.&&chl=&.$chl.&
" alt="QR code" widhtHeight="&.$size.&" widhtHeight="&.$size.&"/&&;
2.php类库PHP QR Code
PHP QR Code is open source (LGPL) library for generating QR Code,
2-dimensional barcode. Based on libqrencode C library,
provides API for creating QR Code barcode images (PNG, JPEG thanks to GD2).
Implemented purely in PHP, with no external dependencies (except GD2 if needed).
地址:http://phpqrcode.sourceforge.net/
下载:http://sourceforge.net/projects/phpqrcode/
3.libqrencode
地址:http://fukuchi.org/works/qrencode/index.en.html
php支持请参考:http://hirokawa.netflowers.jp/entry/4900/
4.QRcode Perl CGI & PHP scripts
地址:http://www.swetake.com/qr/qr_cgi.html}

我要回帖

更多关于 php生成小程序二维码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信