PHP生成自定义内容的二维码

因为本人经常做营销类的app或者移动网页。这些app的利益模式都是你推荐我,我推荐你,你成为我的下级,你消费我赚钱的盈利思路。为了方便形成这些利益模式,需要在创建用户的时候需要对每一个用户生成一个独有的二维码。
TP5.0来配合"endroid/qr-code" : "^2.5"来生成二维码
 // 生成推荐二维码
public static function __buildQrcode($hcode)
{
    // TODO 生成二维码推荐地址以及二维码所携带的参数
    $qrcode_url = get_param(3) . '/personal/registered?code=' . $hcode;

    // https://github.com/endroid/qr-code
    $qrCode = new \Endroid\QrCode\QrCode();
    $qrCode->setText($qrcode_url)
        ->
    // 设置二维码上的内容
    setSize(400)
        ->
    // 二维码尺寸 setMargin会影响,单位: px
    setMargin(30)
        ->
    // 设置二维码内容距离图片边缘的便宜量,单位:像素px
    setEncoding('UTF-8')
        ->setErrorCorrectionLevel('high')
        ->
    // 设置二维码的纠错率,可以有low、medium、quartile、hign多个纠错率
    setForegroundColor([
        'r' => 0,
        'g' => 0,
        'b' => 0,
        'a' => 0
    ])
        ->
    // 设置二维码的rgb颜色和透明度a,这里是黑色
    setBackgroundColor([
        'r' => 255,
        'g' => 255,
        'b' => 255,
        'a' => 0
    ])
        ->
    // 设置二维码图片的背景底色,这里是白色
    setWriterByName('png'); // 设置输出的二维码图片格式,这里设置成png格式,还可以有gif、jpeg、wbmp
                            // ##可能的指定二维码下方的文字,写死16px的字体大小
                            // $qrCode->setLabel('底部文字', 16);
                            // $qrCode->setLabel('底部文字', 16, ROOT_PATH.'vendor/endroid/qr-code/assets/fonts/noto_sans.otf', \Endroid\QrCode\LabelAlignment::CENTER);

   //二维码的存放路径
    $setting = config('upload.picture');
    $save_path = $setting['savePath'] . 'member/';
    $file_name = 'qrcode_' . $hcode . '.png';

    $qrCode->writeFile($save_path . $file_name);

    return $setting['rootPath'] . 'member/' . $file_name;
}

你可能感兴趣的:(PHP生成自定义内容的二维码)