用windows下用phpcode生成二维码
1.首先要保证php.ini的gd库打开。
2.下载phpcode源码
3.加载进来
二维码生成有两种模式,一种是不带自己logo的,一中是带自己logo的
一:原生的,不带自己logo的二维码
php 代码如下,
url只是生成二维码后的连接地址
include_once('ortherlib/phpqrcode/phpqrcode.php'); $local = "http://".$_SERVER['HTTP_HOST']; $value = $local.'index.php/wechat/Index/chufangdetail/'.$pid.'/'.$user_id.'/'.$result_id; $errorCorrectionLevel = 'L';//纠错等级 $matrixPointSize = 5; //二维码图片点大小 $rout_erwm = "upload/erwm/".$user_id.'.png'; //生成二维码保存地址 QRcode::png ( $value,$rout_erwm, $errorCorrectionLevel, $matrixPointSize, 2 );
二:生成自己带logo的二维码
include_once('ortherlib/phpqrcode/phpqrcode.php');$local = "http://".$_SERVER['HTTP_HOST'];$value = $local.'?cust_id='.$user_id;$ewmurl = $value;$errorCorrectionLevel = 'L';$matrixPointSize = 5;$rout_erwm = "upload/erwm/".$user_id.'.png'; //生成二维码保存地址QRcode::png ( $value,$rout_erwm , $errorCorrectionLevel, $matrixPointSize, 2 );
//以上是先生成原始的二维码图片,不包含图片的
//在上面生成图片的基础上添加logo图
$logo = logo.png;//要嵌入到二维码中的备用logo $QR = $rout_ewm //第一步生成的不带logo的二维码 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_height = imagesy ( $logo ); $logo_qr_width = $QR_width / 4; $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,$erwmpic);
以上在window上运行正常,但在linux下面就无法运行
原因,linux可能没有开启gd库,
不要在linux环境下查看php.ini是否有gd库打开,因为里面找不到配置。
要是安装了php-gd库,会在生成/etc/php.d目录
检测是否安装gd库
php5 -m | grep -i gd
或者
php -i | grep -i --color gd
如果未安装就紧进行安装
如果是debian系的linux系统,用apt-get安装,如下
apt-get install php5-gd
# 如果是CentOS系的系统,用yum安装,如下
yum install php-gd
# 如果是suse系的linux系统,用yast安装,如下
yast -i php5_gd
安装成功
这时候是不需要配置php.ini的,因为在linux下面php.ini里面是找不到extension=gd2的。安装完成后后在/etc/php.d目录下面生成,php.ini会自动加载的。
以上在linux上面成功完成二维码生成。