亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

php生成二維碼

2020-03-22 17:55:56
字體:
來源:轉載
供稿:網友
隨著科技的進步,大家經常見到條形碼和二維碼,特別是智能手機時代這些碼更顯得活躍了,今天我給大家分享下如何使用PHP生成二維碼,至于如何生成二維碼,一般常用的試調用google的開放api來生成,言歸正傳,直接上代碼了: 第一種方法: 利用Google API生成二維碼 Google提供了較為完善的二維碼生成接口,調用API接口很簡單,以下是調用代碼:
$urlToEncode="http://www.phpstudy.net"; 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.'"/ } 使用PHP二維碼生成類庫PHP QR Code生成二維碼
PHP QR Code是一個PHP二維碼生成類庫,利用它可以輕松生成二維碼,網址提供了下載和多個演示demo,查看地址:http://phpqrcode.sourceforge.net/。
下載網址提供的類庫后,只需要使用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表示是否保存二維碼并顯示。
html' target='_blank'>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); } 調用PHP QR Code非常簡單,如下代碼即可生成一張內容為"http://www.phpstudy.net"的二維碼.
include 'phpqrcode.php'; QRcode::png('http://www.phpstudy.net'); 那么實際應用中,我們會在二維碼的中間加上自己的LOGO,已增強宣傳效果。那如何生成含有logo的二維碼呢?其實原理很簡單,先使用PHP QR Code生成一張二維碼圖片,然后再利用php的image相關函數,將事先準備好的logo圖片加入到剛生成的原始二維碼圖片中間,然后重新生成一張新的二維碼圖片。
include 'phpqrcode.php'; $value = 'http://www.phpstudy.net'; //二維碼內容 $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, 'phpstudy.png'); echo ' img src="phpstudy.png" 方法二: 不廢話了,直接上代碼了:
php function UPCAbarcode($code) { $lw = 2; $hi = 100; $Lencode = array('0001101','0011001','0010011','0111101','0100011', '0110001','0101111','0111011','0110111','0001011'); $Rencode = array('1110010','1100110','1101100','1000010','1011100', '1001110','1010000','1000100','1001000','1110100'); $ends = '101'; $center = '01010'; /* UPC-A Must be 11 digits, we compute the checksum. */ if ( strlen($code) != 11 ) { die("UPC-A Must be 11 digits."); } /* Compute the EAN-13 Checksum digit */ $ncode = '0'.$code; $even = 0; $odd = 0; for ($x=0;$x $x++) { if ($x % 2) { $odd += $ncode[$x]; } else { $even += $ncode[$x]; } $code.=(10 - (($odd * 3 + $even) % 10)) % 10; /* Create the bar encoding using a binary string */ $bars=$ends; $bars.=$Lencode[$code[0]]; for($x=1;$x $x++) { $bars.=$Lencode[$code[$x]]; $bars.=$center; for($x=6;$x $x++) { $bars.=$Rencode[$code[$x]]; $bars.=$ends; /* Generate the Barcode Image */ $img = ImageCreate($lw*95+30,$hi+30); $fg = ImageColorAllocate($img, 0, 0, 0); $bg = ImageColorAllocate($img, 255, 255, 255); ImageFilledRectangle($img, 0, 0, $lw*95+30, $hi+30, $bg); $shift=10; for ($x=0;$x strlen($bars);$x++) { if (($x 10) || ($x =45 & 50) || ($x =85)) { $sh=10; } else { $sh=0; } if ($bars[$x] == '1') { $color = $fg; } else { $color = $bg; } ImageFilledRectangle($img, ($x*$lw)+15,5,($x+1)*$lw+14,$hi+5+$sh,$color); /* Add the Human Readable Label */ ImageString($img,4,5,$hi-5,$code[0],$fg); for ($x=0;$x $x++) { ImageString($img,5,$lw*(13+$x*6)+15,$hi+5,$code[$x+1],$fg); ImageString($img,5,$lw*(53+$x*6)+15,$hi+5,$code[$x+6],$fg); ImageString($img,4,$lw*95+17,$hi-5,$code[11],$fg); /* Output the Header and Content. */ header("Content-Type: image/png"); ImagePNG($img); 由于二維碼允許有一定的容錯性,一般的二維碼即使在遮住部分但仍然能夠解碼,經常我們掃描二維碼的時候掃描到甚至不到一半時就能解碼掃描結果,這是因為生成器會將部分信息重復表示來提高其容錯度,這就是為什么我們在二維碼中間加個LOGO圖片并不影響解碼結果的原因。 以上通過兩種方法介紹php生成二維碼,希望能夠幫助到大家。PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩色婷婷| 欧美视频一二三| 国产精品久久久久国产a级| 中文字幕日韩在线视频| 久久精品99久久久香蕉| 亚洲永久免费观看| 欧美三级免费观看| 91久久久久久久久| www.欧美精品| 久久99视频精品| 亚洲欧美日韩精品| 国外成人在线播放| 亚洲精品一区av在线播放| 欧美精品在线免费| 中文字幕精品国产| 国产精品九九久久久久久久| 成人www视频在线观看| 欧美xxxx做受欧美.88| 国产99视频在线观看| 国产精品女人久久久久久| 国内精品久久久久影院优| 米奇精品一区二区三区在线观看| 亚洲一区二区自拍| 亚洲成人三级在线| 欧美最猛黑人xxxx黑人猛叫黄| 亚洲美女免费精品视频在线观看| 亚洲成色777777女色窝| 日韩中文在线视频| 夜夜嗨av色一区二区不卡| 一区二区三区精品99久久| 亚洲成人网在线| 国产精品美乳一区二区免费| 亚洲综合一区二区不卡| 久久精品国产久精国产一老狼| 日韩精品免费电影| 日韩国产高清视频在线| 欧美精品免费在线| 亚洲第一网站男人都懂| 国产日本欧美视频| 久久久国产一区| 国产精品久久久久久一区二区| 欧美日韩不卡合集视频| 国产精品福利小视频| 亚洲自拍在线观看| 国产在线一区二区三区| 国产99久久精品一区二区 夜夜躁日日躁| 国产精品亚发布| 91久久久国产精品| 久久久国产影院| 日韩在线小视频| 国产欧美精品xxxx另类| 国产精品久久久久77777| 国产91色在线|免| 日韩精品在线观看一区二区| 亚洲精品久久久久久久久久久久| 热久久99这里有精品| 国产精品第10页| 亚洲欧洲高清在线| 亚洲理论在线a中文字幕| 久久久久久国产| 欧美成人黄色小视频| 色婷婷久久av| 在线亚洲午夜片av大片| 亚洲xxx自由成熟| 亚洲精品动漫久久久久| 亚洲aⅴ日韩av电影在线观看| 日韩中文在线观看| 日韩av在线不卡| 中文字幕亚洲一区二区三区五十路| 国产一区视频在线播放| 日韩大片在线观看视频| 538国产精品视频一区二区| 亚洲伊人久久大香线蕉av| 国产精品极品在线| 亚洲国产中文字幕久久网| 欧美午夜性色大片在线观看| 欧美日韩另类视频| 色偷偷91综合久久噜噜| 欧美午夜久久久| 国产视频久久久久| 国产69精品久久久久99| 久久久精品免费视频| 国内精品久久久久久中文字幕| 久久久久成人精品| 亚洲国产又黄又爽女人高潮的| 欧美一区二三区| 国产91对白在线播放| 久久久91精品国产| 亚洲级视频在线观看免费1级| 国产精品亚洲一区二区三区| 欧美一级电影久久| 欧美俄罗斯性视频| 亚洲日韩中文字幕| 国产91久久婷婷一区二区| 青青在线视频一区二区三区| 久久免费视频这里只有精品| 日韩中文字幕在线观看| 亚洲一区二区三区久久| 国产亚洲激情视频在线| 日本久久久a级免费| 992tv成人免费视频| 奇米一区二区三区四区久久| 日韩精品有码在线观看| 日本亚洲精品在线观看| 中国china体内裑精亚洲片| 91社区国产高清| 欧洲成人在线视频| 日韩国产精品视频| 国产精品青草久久久久福利99| 国产亚洲精品综合一区91| 亚洲国产高清自拍| 38少妇精品导航| 久久久久国产精品免费| 国产精品高潮视频| 亚洲精品日韩欧美| 亚洲第一天堂无码专区| 中文字幕国产精品| 91经典在线视频| 国产一区欧美二区三区| 国产一区二区欧美日韩| 97久久精品在线| 伊人亚洲福利一区二区三区| 欧美日韩国产一区中文午夜| 亚洲视频在线观看免费| 久久久精品中文字幕| 国产999视频| 欧美激情亚洲综合一区| 国产精品av在线| 91av网站在线播放| 久久激情五月丁香伊人| 日韩影视在线观看| 91精品视频在线看| 久久久久久久久久久av| 亚洲视频自拍偷拍| 欧美成年人在线观看| 热久久这里只有精品| 日韩美女毛茸茸| 亚洲人成啪啪网站| 九九久久久久99精品| 中文字幕亚洲字幕| 久久亚洲精品成人| 国产69精品久久久| 4k岛国日韩精品**专区| 91精品久久久久久久久久久久久久| 国产在线播放不卡| 日本欧美爱爱爱| 久久色精品视频| 国产精品久久婷婷六月丁香| 国产免费一区二区三区香蕉精| 欧美人在线视频| 日韩av成人在线| 日韩av在线一区二区| 日韩欧美成人区| 欧美精品激情在线| 国产视频福利一区| 色一情一乱一区二区| 久久久亚洲欧洲日产国码aⅴ| 日本精品在线视频| 亚洲视频一区二区| 亚洲第一福利视频| 成人免费激情视频| 亚洲国产精品专区久久| 97人人爽人人喊人人模波多| 欧洲美女7788成人免费视频|