网站开发过程中,经常要用到生成指定的二维码,下面方维网络给大家介绍几种生成二维码的方式:
一、通过第三方api生成
比如:
https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=url
直接通过地址
Size:设置二维码的大小
Data:二维码内容
可以在网页上直接显示二维码
二、通过phpqrcode 这是一个php插件我们可以通过他来生成二维码
//创建二维码图片
function create($id,$path='') {
$dir=app()->getRootPath();//网站根目录
$path_file=$dir.'static/qcode/'.$path; //二维码存放目录
//dump($path_file);
if(!is_dir($path_file)){ //目录是否存在,不存在就创建目录
mkdir($path_file,0777,true);
}
$fileName =$path_file.$id.'.png'; // 生成的二维码文件名称
if(!file_exists($fileName)){
//dump($fileName) ;
require_once app()->getRootPath()."extend/phpqrcode/phpqrcode.php";// 引入插件
header('Content-Type: image/png');
$level = 'L';// 点的大小:1到10,用于手机端4就可以了
$size = 7;// 下面注释了把二维码图片保存到本地的代码,如果要保存图片,用$fileName替换第二个参数false
$QRcode = new \QRcode();//实列化方法
$code_url="xxxxxid=".$id;//生成二维码的url文本等内容;
$res=$QRcode->png($code_url, $fileName, $level, $size);//生成二维码
return $fileName; //返回二维码路径
}else{
return $fileName ;
}
}
生成二维码并且打包下载
public function down_ewm(){
set_time_limit(1000000);
$nlist=array_values($data);
$filename = 'ewm.zip';
//新建zip压缩包
$file_dir = app()->getRootPath();
$zip_file =$file_dir.$filename;
$zip = new \ZipArchive;
$res=$zip->open($zip_file,\ZipArchive::CREATE);
//把图片一张一张加进去压缩
//dump($nlist);
foreach ($nlist as $k => $v) {
$ext=get_extension($v['img']);
if (file_exists ( $v['img'] )) {
$zip->addFile($v['img'],$v['path'].$v['name'].'.'.$ext);
}
}
//打包zip
$zip->close();
//或者输出下载
header("Cache-Control: public");
header("Content-Description: File Transfer");
header('Content-disposition: attachment; filename='.basename($zip_file)); //文件名
header("Content-Type: application/force-download");
header("Content-Transfer-Encoding: binary");
header('Content-Length: '. filesize($zip_file)); //告诉浏览器,文件大小
readfile($zip_file);
}
如图:通过插件生成二维码
三、通过浏览器右键可以生成网页二维码
四、通过百度搜索二维码生成
比如草料二维码
还能对二维码进行美化,生成不一样的二维码