很多站长朋友们都不太清楚php手机qr,今天小编就来给大家整理php手机qr,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 为什么用phpqrcode 生成的带logo的二维码不能扫不能跳转 2、 php利用php qr code生成二维码怎么输出 3、 使用phpqrcode.php让图片生成二维码后,标题怎么才能只有内容,没有后缀(.jpg或者png)呢? 4、 php如何通过Qrcode实现二维码的生成 5、 phpqrcode生成二维码如何发送至视图层 6、 怎样用php qr code生成彩色二维码 为什么用phpqrcode 生成的带logo的二维码不能扫不能跳转Thinkphp中没有二维码相关的库,因此我们可以通过整合phpqrcode来完成生成二维码的功能。
下载phpqrcode
下载地址:
整合到Thinkphp框架
在“ThinkPHP\Library\Vendor\”下新建目录phpqrcode,将压缩包内容解压到该文件夹下。
调用phpqrcode生成二维码
在IndexController控制器下添加如下方法:
public function qrcode($url="",$level=3,$size=4) { Vendor('phpqrcode.phpqrcode'); $errorCorrectionLevel =intval($level) ;//容错级别 $matrixPointSize = intval($size);//生成图片大小 //生成二维码图片 $object = new \QRcode(); $object->png($url, false, $errorCorrectionLevel, $matrixPointSize, 2); }
访问:即可看到生成的二维码。
生成带logo的二维码
先调用phpqrcode生成一张二维码,再使用php的image相关函数将logo图片添加到生成的二维码图片上。
include 'phpqrcode.php'; $value = ''; //二维码内容 $errorCorrectionLevel = 'L';//容错级别 $matrixPointSize = 6;//生成图片大小 //生成二维码图片 QRcode::png($value, 'qrcode.png', $errorCorrectionLevel, $matrixPointSize, 2); $logo = 'logo.png';//准备好的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_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, '/data/upload/help/202303/02/00665a1d820b0f984f46fdba9ed44a0d.png'); echo '<img src="/data/upload/help/202303/02/00665a1d820b0f984f46fdba9ed44a0d.png">';
php利用php qr code生成二维码怎么输出下载官网提供的类库后,只需要使用phpqrcode.php就可以生成二维码了,当然您的PHP环境必须开启支持GD2。
phpqrcode.php提供了一个关键的png()方法,其中参数$text表示生成二位的的信息文本;参数$outfile表示是否输出二维码图片 文件,默认否;参数$level表示容错率,也就是有被覆盖的区域还能识别,分别是 L(QR_ECLEVEL_L,7%),M(QR_ECLEVEL_M,15%),Q(QR_ECLEVEL_Q,25%),H(QR_ECLEVEL_H,30%);
参数$size表示生成图片大小,默认是3;参数$margin表示二维码周围边框空白区域间距值;参数$saveandprint表示是否保存二维码并 显示。转载,仅供参考。
. 代码如下:
public static function png($text, $outfile=false, $level=QR_ECLEVEL_L, $size=3, $margin=4, $saveandprint=false)
{
$enc = QRencode::factory($level, $size, $margin);
return $enc->encodePNG($text, $outfile, $saveandprint=false);
}
使用phpqrcode.php让图片生成二维码后,标题怎么才能只有内容,没有后缀(.jpg或者png)呢?生成二维码后就可以用接口直接给前端了, 不需要.jpg或是.png, 一个网络资源地址不一定要是什么后缀, 同样可以用, 主要看它返回头信息中的Content-Type, 如Content-Type:image/png
php如何通过Qrcode实现二维码的生成本示例需要引入第三方的类文件。
在当前控制器的分组下面建立目录:Org文件夹。将Qrcode.class.php放入Org文件夹中。
控制器层:IndexAction
<?php
class IndexAction extends Action{
public function WaxxCreateErWeiMa() { $url=I('post.url'); import('@.Org.QRcode'); //引入Qrcode.class.php类文件。 $path=VENDOR_PATH.'uploads/'; $path=str_replace('\\','/',$path); if(!file_exists($path)) { mkdir($path,0777,true); } $filename=$path.'test.png'; QRcode::png($url,$filename,'L',4,2); // $path=str_replace('D:/wamp/www','',$path); $filename=$path.'test.png'; echo '<img src="'.$filename.'" width="100" height="100"/>'; }
}
?>
视图层:模板页面:
<!DOCTYPE html>
<html>
<head>
<title>我爱学习--;/title>
<style>
.rightBOx{border:1px solid red;width:120px;height:120px;position:fixed;right:5px;bottom:150px;}
</style>
<script src='/Public/js/jquery.js'></script>
<script>
$(function(){$("#createErwema").click(function(){ var url=document.location.href; $.ajax({ url:'/Index/WaxxCreateErWeiMa', type:'POST', dataType:"html", data:{'url':url}, success: function(data){ $("#createErwema").html(data); } }) })})
</script>
</head>
<body>
<div class="rightBOx" id="createErwema"></div>
</body>
</html>
phpqrcode生成二维码如何发送至视图层大兄dei,这是我TP3.2用qrcode生成二维码的代码,你参考一下。
其实思路是这样的,生成的二维码保存在第二个参数里,你直接取出这张图片就行了。
/**
* 生成二维码
*
* @param string $url 生成二维码的url
* @param string $file 带有文件名和路径的保存地址
* @param string $level 容错级别
* @param int $size 图片大小(非固定尺寸),数值越大图片越大
* @param int $margin 白色边框的大小,数值越大边框越大
* @param string $saveandprint 是否保存并输出
* @return string null或者输出的图片
*/
function qrcode($url,$file,$level = 'L',$size = 6,$margin = 2,$saveandprint = false){
Vendor('phpqrcode.phpqrcode');
$QRcode = new \QRcode ();
$return = $QRcode::png($url,$file,$level,$size,$margin,$saveandprint);
chmod($file,0777);
return $return;
}
这是我使用的代码:
$book_info = M('Book')->field('date_dir')->where(array('id'=>$id))->find();
//生成书籍手机访问二维码
$m_url = b_url($book_info['date_dir'],$id,'wap');
$book_dir = BOOK_PATH.$book_info['date_dir'].$id.'/';
qrcode($m_url,$book_dir.'qrcode.png');
怎样用php qr code生成彩色二维码先使用PHP QR Code生成一张二维码图片,然后再利用php的image相关函数,将事先准备好的logo图片加入到刚生成的原始二维码图片中间,然后重新生成一张新 的二维码图
关于php手机qr的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php手机qr php手机编程软件的详细内容...