1. 如何在php中生成qrcode並且把以pdf形式發送email
下載官網提供的類庫後,只需要使用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);
}
2. 如何實現掃描二維碼,實現網址自動跳轉
可以把網址生成一個二維碼,有兩種方式,一個是把網址生成靜態碼,優點是掃碼可以直接跳轉,缺點是如果網址越長,生成的二維碼越密集,另外如果網址沒有備案過,那就可能在某些app中無法直接跳轉,還有一種方式是把網址生成活碼,優點是二維碼一旦生成,內容是可以隨時修改,如果網站地址失效可以隨時替換,缺點是掃碼後會顯示一個鏈接,需要點擊鏈接後再跳轉到對應網站。
這里比較推薦的是用活碼形式,雖然需要二次跳轉,但是穩定性有保障,並且可以隨時修改網址地址原二維碼是不變的。
製作活碼的步驟也很簡單:
進入網站登錄到操作後台。
添加網址後在二維碼內容里會出現一個鏈接按鈕,掃碼後點擊鏈接按鈕就可以跳轉到對應的網址。你還可以在二維碼里放入一些介紹文字,圖片,甚至是音視頻,掃碼就直接能查看。
3. 為什麼用phpqrcode 生成的帶logo的二維碼不能掃不能跳轉
Thinkphp中沒有二維碼相關的庫,因此我們可以通過整合phpqrcode來完成生成二維碼的功能。
下載phpqrcode
下載地址:http://phpqrcode.sourceforge.net/
整合到Thinkphp框架
在「ThinkPHP\Library\Vendor\」下新建目錄phpqrcode,將壓縮包內容解壓到該文件夾下。
調用phpqrcode生成二維碼
在IndexController控制器下添加如下方法:
public function qrcode($url="www..com",$level=3,$size=4) { Vendor('phpqrcode.phpqrcode'); $errorCorrectionLevel =intval($level) ;//容錯級別 $matrixPointSize = intval($size);//生成圖片大小 //生成二維碼圖片 $object = new \QRcode(); $object->png($url, false, $errorCorrectionLevel, $matrixPointSize, 2); }
訪問:http://127.0.0.1/Index/qrcode即可看到生成的二維碼。
生成帶logo的二維碼
先調用phpqrcode生成一張二維碼,再使用php的image相關函數將logo圖片添加到生成的二維碼圖片上。
include 'phpqrcode.php'; $value = 'http://www.cnblogs.com/txw1958/'; //二維碼內容 $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; //重新組合圖片並調整大小 imageresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width, $logo_qr_height, $logo_width, $logo_height); } //輸出圖片 imagepng($QR, 'helloweixin.png'); echo '<img src="helloweixin.png">';
4. 目前php生成二維碼可以有以上幾種方式
現在主流是使用 phpqrcode插件,也有自己根據演算法自己寫的 不過建議是使用插件,畢竟技術成熟
5. 利用phpqrcode生成二維碼頁面的title怎麼設置
此時的 index.php 已經被聲明成了圖片資源,瀏覽器又怎麼去解析HTML代碼。
你應該多寫一個文件,譬如 qrcode.php 頁面負責生成二維碼。
在需要調用的頁面中,譬如 index.php 里寫HTML代碼。你可以多加考慮考慮,還有疑問的話,有興趣的話,可以多去後盾人看看,那裡也許能夠給你啟迪
6. thinkphp 任何導入qrcode 二維碼 命名空間
QRcode::png 改成 \QRcode::png
7. php 生成二維碼以後,修改保存圖片地址
指定調用函數的第二個參數,是文件存儲地址。
publicstaticfunctionpng($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);
}
如: QRcode::png($str, $file);
8. php代碼如何實現掃描二維碼獲取掃描者的信息
1、首先創建一個名稱為erweima的php文件。
注意事項:
用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。
9. thinkphp3.2 qrcode 怎麼在view頁面上輸出
完美解決Class 'Home\Controller\QRcode' not found 問題
Thinkphp3.2+PHPQRCode二維碼生成
1、下載PHPQRCode解壓後台把phpqrcode.php存放至ThinkPHP/Extend/Vendor/文件夾中
2、在控制器中IndexController創建一個生成二維碼的方法qrcode
[html] view plain
public function qrcode($level=3,$size=4){
//動態網址
$url=__SELF__;
$a=strpos("$url","http://"); //判斷http://的位置 假設是20
$codeurl=substr("$url",$a); //從20處開始截取
// mp($url);
// mp($a);
// mp($codeurl);
// exit;
$url=$codeurl;
//靜態網址
//$url='http://www.tuzicms.com/index.php/mobile/Photo/detail/id/81';
Vendor('phpqrcode.phpqrcode');
$errorCorrectionLevel =intval($level) ;//容錯級別
$matrixPointSize = intval($size);//生成圖片大小
//生成二維碼圖片
//echo $_SERVER['REQUEST_URI'];
$object = new \QRcode();
$object->png($url, false, $errorCorrectionLevel, $matrixPointSize, 2);
}
3、在瀏覽器中訪問http://127.0.0.1/你的項目名/index.php?s=/home/index/qrcode
4、生成效果
10. thinkphp微信支付回調是什麼意思
微信支付回調就是說用戶通過微信支付完畢時的返回值去判斷支付結果。
通過返回的結果,去修改資料庫(完成你想實現的功能)
例:用戶支付成功->通過回調判斷->資料庫操作(為會員充值積分)
用戶支付失敗(或取消支付)->通過回調判斷->跳轉到支付失敗頁