溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Symfony如何生成二維碼

發(fā)布時間:2021-08-30 16:05:00 來源:億速云 閱讀:170 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了Symfony如何生成二維碼,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

具體如下:

現(xiàn)在網(wǎng)上能搜到很多關(guān)于使用PHP生成二維碼的例子,主要是兩種方法:

第一種:google開放api,如下:

$urlToEncode="http://blog.it985.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" />';
}

附:API接口地址 https://developers.google.com/chart/infographics/docs/qr_codes

第二種:使用PHP類庫 PHP QR CODE

官方地址:http://phpqrcode.sourceforge.net/

下載地址:http://sourceforge.net/projects/phpqrcode/

也可點擊此處本站下載。

使用方法:

<?php
// include這兩個文件之一:
/*
qrlib.php for full version (also you have to provide all library files
form package plus cache dir)
OR phpqrcode.php for merged version (only one file,
but slower and less accurate code because disabled cache
and quicker masking configured)
*/
// 兩句話解釋:
// 包含qrlib.php的話需要同其它文件放到一起:文件、文件夾。
// phpqrcode.php是合并后版本,只需要包含這個文件,但生成的圖片速度慢而且不太準(zhǔn)確
include('./phpqrcode/phpqrcode.php');
// 以下給出兩種用法:
// 創(chuàng)建一個二維碼文件
QRcode::png('code data text', 'filename.png');
// creates file
// 生成圖片到瀏覽器
QRcode::png('some othertext 1234');
?>

附官方示例代碼地址:http://phpqrcode.sourceforge.net/examples/index.php

當(dāng)然,還有其他方法生成二維碼,這里就不一一介紹了。

下面我們說一下在Symfony下使用EndroidQrCodeBundle生成二維碼:

1、使用composer安裝

composer require endroid/qrcode-bundle

2、在kernel中注冊

<?php
// app/AppKernel.php
public function registerBundles()
{
  $bundles = array(
    // ...
    new Endroid\Bundle\QrCodeBundle\EndroidQrCodeBundle(),
  );
}

3、定義訪問路由

EndroidQrCodeBundle:
  resource:  "@EndroidQrCodeBundle/Controller/"
  type:    annotation
  prefix:   /qrcode

4、配置 config.xml

endroid_qr_code:
  size: 100
  padding: 10
  extension: gif
  error_correction_level: high
  foreground_color: { r: 0, g: 0, b: 0, a: 0 }
  background_color: { r: 255, g: 255, b: 255, a: 0 }
  #label: "My label"
  #labelFontSize: 16

5、在twig中使用

普通文本生成方式:

<img src="{{ qrcode_url(message) }}" />
<img src="{{ qrcode_url(message, extension='png') }}" />
<img src="{{ qrcode_url(message, size=150) }}" />

鏈接生成方式:

<img src="{{ qrcode_data_uri(message, size=200, padding=10) }}" />

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Symfony如何生成二維碼”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI