1件のダウンロードには、2次元コードのライブラリーを生成します
作曲は必要 aferrandini / phpqrcodeを
2ダウンロードする]ボタンをクリックしてください
// 二维码下载 パブリック 関数down_qrcode() { 場合($この - >要求- > isPost()){ $ shop_id =入力( 'shop_id' )。 $ merchant_id = Dbの::テーブル( 'xcf_shops') - >( 'shop_id'、$のshop_id) - >値( 'merchant_id' ); もし($ merchant_id ){ $ URL = 'XCF'。$ merchant_id ; // 二维码内容 $ PIC = $この - > scerweima1($のURL ); ; } 他{ リターン JSON([ 'MSG' => 'S' => 'エラーが'、 'merchant_idが存在しない、豊かな友人を検討してください。' ]); } } }
//は、2次元コード生成 // 2プラスのロゴ(画像ファイル生成)は、二次元コードで生成された。 公開 関数 scerweima1($テキスト){ // エコー「喜」;ダイ; //ダンプ(APP_XCF_LOG.'xcf .PNG ');ダイ; //Vendor('chillerlan.php-qrcode.public.qrcode'); //パス名= DATE $( "はYmd"、時間()); $パス名 = APP_PATH「/../。公共/アップロード/ QRコード/ ' ; IF(!is_dir($パス名 {))// ディレクトリが存在しない場合は作成され ます。mkdir($パス名、0777、真の); } $ errorCorrectionLevel= 'H'; // フォールトトレランスレベル $ matrixPointSize = 10; //は、画像サイズを生成 //次元コード画像を生成 $ ABC = DATE( "はYmd"、時間())時間() 'PNGを' ; $ファイル名 = $パス名。$ ABC ; \ PHPQRCode \ QRコード :: PNG($テキスト、$ファイル名、$ errorCorrectionLevel、$ matrixPointSize、2 ); $ロゴ = APP_PATH「/../public/assets/xcf_log/xcf.png。 「; // 準備ロゴ画像 ダンプ//(APP_XCF_LOG.'xcf.png「);死ぬ; //ダンプ($ロゴ);ダイ; $ QR = $ファイル名 ; // すでに生成された元の2次元コードパターン //ダンプ($ QR); IF(file_exists($ロゴ)){ $ QR = imagecreatefromstring(のfile_get_contents($ QR)); // 対象画像接続リソース。 ロゴ$ = imagecreatefromstring(のfile_get_contents($ロゴ)); // ソース画像の接続リソース。 QR_width $ = imagesx($ QR); // 二次元コードの画像幅 の$ QR_heightImagesy =($ QR); // 二次元コード画像高 $ logo_width = imagesx($ロゴ); // ロゴ画像幅 $ logo_height = imagesy($ロゴ); // ロゴの像高 $ logo_qr_width = $ QR_width / 4。 // 合わせた幅(二次元コードの1/5)の後ロゴ $スケール = $ logo_width / $ logo_qr_width ; // ロゴ幅スケーリング比(幅自体の後に幅/組成物) $ logo_qr_height = $ logo_height / $スケール ; // 組み合わせた高さの後にロゴ の$ from_width =($ QR_width- $のlogo_qr_width)/ 2; // 合成後のロゴがポイントの左上座標 //画像を再結合し、リサイズ / * * imagecopyresampled()画像(画像ソースの矩形部分)が他の画像にコピーされます中 * / imagecopyresampled($ QR、$ロゴ、$ from_width、$ from_width、0、0、$ logo_qr_width、$ logo_qr_height、$ logo_width、$ logo_height ;) } // 出力画像 imagepng($ QR、$ファイル名); リターンリクエスト() - >ドメイン() ' /アップロード/ QRコード/' ..$ abcの。 }