程式碼備份錄——海報+二維碼合成圖
記得引用門面
use Illuminate\Http\Request;
use Illuminate\Support\Facades\File;
use SimpleSoftwareIO\QrCode\Facades\QrCode;
核心程式碼
// 生成我的邀請海報
public function myInviter(){
$user = DB::table("user")->where("openid",session("openid"))->first();
// 定義public下面的資料夾
$public_path = public_path('/inviterQrcodes/');
// $public_path 目錄不存在,則建立資料夾
File::isDirectory($public_path) or File::makeDirectory($public_path, 0777, true, true);
// 定義檔名(包含字尾)
$inviterQrCodeFileName = $user->inviter.'.png'; // ZQQ6LDLBDQ.png
// 生成qrcode 並儲存在$public_path 下
QrCode::format('png')
->size(300)
->encoding('UTF-8')
->errorCorrection('Q')
->margin(1)
->generate(___host.'/getBind?inviter='.$user->inviter,$public_path.$inviterQrCodeFileName);
// 圖片合成
$bg = imagecreatefrompng(public_path('image/hb.png'));// 提前準備好的海報圖
$qrcode = imagecreatefrompng($public_path.$inviterQrCodeFileName);
imagecopyresampled($bg, $qrcode, 220, 550, 0, 0, 350, 350, imagesx($qrcode), imagesy($qrcode));
imagepng($bg, public_path('/inviterQrcodes/' . $inviterQrCodeFileName));
//unlink($public_path.$inviterQrCodeFileName);
return view("task.myInviter")->with('title',"邀請好友")->with('inviter',$user->inviter);
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結