搜索
系统检测到您的用户名不符合规范:

这个是什么错生成1W个二维码报错,1千个就没报错

浏览:393 发布日期:2020年08月23日 分类:ThinkPHP6专区
<?php
namespace app\controller;

use app\model\Qrcode as QrcodeModel;
use Endroid\QrCode\QrCode as Qr;


class QrCode
{

public function add($num)
{
ini_set('max_execution_time', '0');
ini_set("memory_limit","-1");
$model = new QrcodeModel();
$list = [];
for ($i=0; $i<$num; $i++){
$data = $this->createQrcode();
$data['created'] = time();
array_push($list,$data);
}
echo $model->saveAll($list);
}

//创建二维码
public function createQrcode()
{
//二维码内容
$code = str_replace(".","-", uniqid("", true));

//生成二维码
$qrCode = new Qr($code);

$savrDir = $this->getQrcodeDir().'/'.$code.'.png';
header('Content-Type: '.$qrCode->getContentType());

//保存二维码文件
$qrCode->writeFile($savrDir);
$dataUri = $qrCode->writeDataUri();

$data['code'] = $code;
$data['savrDir'] = $savrDir;
return $data;
}

/**
* 返回保存二维码的路径
* @return string 保存文件的路径
*/
public function getQrcodeDir()
{
$dirn = getdirnum("./qrcode",'dir');
if($dirn == 0){
$dirn = 1;
mkdir("./qrcode/".$dirn);
}

$dirFileNum = scandir("./qrcode/".$dirn);
if( count($dirFileNum)-2 < 1000 ){
return "./qrcode/".$dirn;
}else{
$newDir = "./qrcode/".($dirn+1);
if(mkdir($newDir)){
return $newDir;
}
}
}

public function demo(){
phpinfo();
}
}
最佳答案
评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
87935030
积分:705 等级:LV2
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /