<?php
namespace app\jingdian\controller;
class Qr
{
public function index(){
header('Content-type:image/png');
$QRcode = new QRcode();
$QRcode->png($_GET['text'], false, QR_ECLEVEL_L,10,1);
}
}
define('QR_MODE_NUL', -1);
define('QR_MODE_NUM', 0);
define('QR_MODE_AN', 1);
define('QR_MODE_8', 2);
define('QR_MODE_KANJI', 3);
define('QR_MODE_STRUCTURE', 4);
// Levels of error correction.
define('QR_ECLEVEL_L', 0);
define('QR_ECLEVEL_M', 1);
define('QR_ECLEVEL_Q', 2);
define('QR_ECLEVEL_H', 3);
// Supported output formats
define('QR_FORMAT_TEXT', 0);
define('QR_FORMAT_PNG', 1);
class qrstr {
public static function set(&$srctab, $x, $y, $repl, $replLen = false) {
$srctab[$y] = substr_replace($srctab[$y], ($replLen !== false)?substr($repl,0,$replLen):$repl, $x, ($replLen !== false)?$replLen:strlen($repl));
}
}
//---- merged_config.php -----------------------------
/*
* PHP QR Code encoder
*
* Config file, tuned-up for merged verion
*/
define('QR_CACHEABLE', false); // use cache - more disk reads but less CPU power, masks and format templates are stored there
define('QR_CACHE_DIR', false); // used when QR_CACHEABLE === true
define('QR_LOG_DIR', false); // default error logs dir
define('QR_FIND_BEST_MASK', true); // if true, estimates best mask (spec. default, but extremally slow; set to false to significant performance boost but (propably) worst quality code
define('QR_FIND_FROM_RANDOM', 2); // if false, checks all masks available, otherwise value tells count of masks need to be checked, mask id are got randomly
define('QR_DEFAULT_MASK', 2); // when QR_FIND_BEST_MASK === false
define('QR_PNG_MAXIMUM_SIZE', 1024); // maximum allowed png image width (in pixels), tune to make sure GD and PHP can handle such big images
class QRtools {
//----------------------------------------------------------------------
public static function binarize($frame)
{
$len = count($frame);
foreach ($frame as &$frameLine) {
for($i=0; $i<$len; $i++) {
$frameLine[$i] = (ord($frameLine[$i])&1)?'1':'0';
}
}
return $frame;
}
//----------------------------------------------------------------------
public static function tcpdfBarcodeArray($code, $mode = 'QR,L', $tcPdfVersion = '4.5.037')
{
$barcode_array = array();
if (!is_array($mode))
$mode = explode(',', $mode);
$eccLevel = 'L';
if (count($mode) > 1) {
$eccLevel = $mode[1];
}
$qrTab = QRcode::text($code, false, $eccLevel);
$size = count($qrTab);
$barcode_array['num_rows'] = $size;
$barcode_array['num_cols'] = $size;
$barcode_array['bcode'] = array();
foreach ($qrTab as $line) {
$arrAdd = array();
foreach(str_split($line) as $char)
$arrAdd[] = ($char=='1')?1:0;
$barcode_array['bcode'][] = $arrAdd;
}
return $barcode_array;
}
//----------------------------------------------------------------------
public static function clearCache()
{
self::$frames = array();
}
//----------------------------------------------------------------------
public static function buildCache()
{
QRtools::markTime('before_build_cache');
$mask = new QRmask();
for ($a=1; $a <= QRSPEC_VERSION_MAX; $a++) {
$frame = QRspec::newFrame($a);
if (QR_IMAGE) {
$fileName = QR_CACHE_DIR.'frame_'.$a.'.png';
QRimage::png(self::binarize($frame), $fileName, 1, 0);
}
$width = count($frame);
$bitMask = array_fill(0, $width, array_fill(0, $width, 0));
for ($maskNo=0; $maskNo<8; $maskNo++)
$mask->makeMaskNo($maskNo, $width, $frame, $bitMask, true);
}
QRtools::markTime('after_build_cache');
}
//----------------------------------------------------------------------
public static function log($outfile, $err)
{
if (QR_LOG_DIR !== false) {
if ($err != '') {
if ($outfile !== false) {
file_put_contents(QR_LOG_DIR.basename($outfile).'-errors.txt', date('Y-m-d H:i:s').': '.$err, FILE_APPEND);
} else {
file_put_contents(QR_LOG_DIR.'errors.txt', date('Y-m-d H:i:s').': '.$err, FILE_APPEND);
}
}
}
}
//----------------------------------------------------------------------
public static function dumpMask($frame)
{
$width = count($frame);
for($y=0;$y<$width;$y++) {
for($x=0;$x<$width;$x++) {
echo ord($frame[$y][$x]).',';
}
}
}
//----------------------------------------------------------------------
public static function markTime($markerId)
{
list($usec, $sec) = explode(" ", microtime());
$time = ((float)$usec + (float)$sec);
if (!isset($GLOBALS['qr_time_bench']))
$GLOBALS['qr_time_bench'] = array();
$GLOBALS['qr_time_bench'][$markerId] = $time;
}
//----------------------------------------------------------------------
public static function timeBenchmark()
{
self::markTime('finish');
$lastTime = 0;
$startTime = 0;
$p = 0;
echo '<table cellpadding="3" cellspacing="1">
<thead><tr style="border-bottom:1px solid silver"><td colspan="2" style="text-align:center">BENCHMARK</td></tr></thead>
<tbody>';
foreach($GLOBALS['qr_time_bench'] as $markerId=>$thisTime) {
if ($p > 0) {
echo '<tr><th style="text-align:right">till '.$markerId.': </th><td>'.number_format($thisTime-$lastTime, 6).'s</td></tr>';
} else {
$startTime = $thisTime;
}
$p++;
$lastTime = $thisTime;
}
echo '</tbody><tfoot>
<tr style="border-top:2px solid black"><th style="text-align:right">TOTAL: </th><td>'.number_format($lastTime-$startTime, 6).'s</td></tr>
</tfoot>
</table>';
}
}
//##########################################################################
QRtools::markTime('start');
define('QRSPEC_VERSION_MAX', 40);
define('QRSPEC_WIDTH_MAX', 177);
define('QRCAP_WIDTH', 0);
define('QRCAP_WORDS', 1);
define('QRCAP_REMINDER', 2);
define('QRCAP_EC', 3);
class QRspec {
public static $capacity = array(
array( 0, 0, 0, array(
没有合适的资源?快使用搜索试试~ 我知道了~
Thinkphp内核伯乐发卡系统源码无授权版 带十多套模板
共2000个文件
js:417个
png:325个
html:323个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 37 浏览量
2024-07-22
16:13:19
上传
评论
收藏 46.47MB ZIP 举报
温馨提示
Thinkphp内核伯乐发卡系统源码无授权版 带十多套模板 功能很全,有十多套模板! 安装后,提示“非法host”“非法地址” 先登录后台,分站配置,主域名填成自己的! 伪静态thinkphp 运行目录public 测试环境 Nginx+PHP 7.2+mysql5.6
资源推荐
资源详情
资源评论
收起资源包目录
Thinkphp内核伯乐发卡系统源码无授权版 带十多套模板 (2000个子文件)
weui.css 357KB
amazeui.flat.css 325KB
amazeui.flat.css 325KB
amazeui.css 324KB
amazeui.css 324KB
amazeui.flat.min.css 250KB
amazeui.flat.min.css 250KB
amazeui.min.css 249KB
amazeui.min.css 249KB
iconfont.css 167KB
iconfont.css 166KB
style.css 157KB
iconfont.css-v=2017070719.css 152KB
style.css 150KB
style_2.css 150KB
style.css 150KB
style.css-v=3.0.0.css 148KB
vendor.css 134KB
bootstrap.min.css 118KB
bootstrap.min.css 118KB
bootstrap.min.css 111KB
bootstrap.min.css 108KB
style.min.css 106KB
style.min.css 106KB
style.min.css 97KB
style.min.css 97KB
foxui.min.css 94KB
iconfont.css 93KB
foxui.min_1.css 90KB
foxui.min.css 90KB
foxui.min.css 90KB
foxui.min.css-v=0.2.css 88KB
buttons.css 80KB
person_content.css 70KB
basic.css 68KB
basic.css 68KB
layui.css 68KB
jquery-weui.css 67KB
jquery-weui.css 67KB
jquery-weui.min.css 61KB
layui.css 58KB
weui.min.css 56KB
jquery-weui.min.css 55KB
style.css 55KB
animate.min.css 54KB
animate.min.css 54KB
layui.css 52KB
weui.min.css 50KB
layui.css 50KB
layui.css 50KB
layui.css 50KB
layui.css 50KB
layui.css 50KB
animate.min.css 46KB
animate.min.css 46KB
ueditor.css 45KB
jquery-ui.css 39KB
jquery-ui.css 39KB
ueditor.min.css 34KB
datepicker3.css 33KB
datepicker3.css 33KB
frozen.css 32KB
aos.css 31KB
font-awesome.min.css 30KB
center.css 28KB
center_bark.css 28KB
font-awesome.min.css 26KB
font-awesome.min.css 26KB
style.min.css 25KB
style.min.css 25KB
foxui.diy.css-v=201705261600.css 25KB
foxui.diy.css-v=201610091000.css 25KB
font_82607_e93d131lklr6n7b9.css 25KB
font_82607_e93d131lklr6n7b9.css 25KB
cart.css 24KB
style_1.css 24KB
style20170419.css 24KB
css7.css 23KB
ak_style.css 23KB
sweetalert.css 22KB
common.css 22KB
video-js.css 22KB
common.css 21KB
common.css 21KB
common.css 21KB
swiper-4.2.6.min.css 19KB
main.css 19KB
main.css 19KB
image.css 19KB
coupon.css-v=2.0.0.css 18KB
publish_need.css 18KB
sweetalert.css 18KB
sweetalert.css 18KB
style.css 17KB
style.css 17KB
swiper.min.css 17KB
swiper.min.css 17KB
swiper.min.css 17KB
style_1.css 16KB
style_1.css 16KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
破碎的天堂鸟
- 粉丝: 8443
- 资源: 2304
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- JKD-17安装包下载
- 毕业设计《基于SSM新生入校学校介绍网站(可升级SpringBoot)》+Java源码+文档说明+毕业论文
- CocosCreator源码资源H5小游戏源码大合集切积木见缝插口红记忆小游戏看图猜词2.0萝卜载兔子飞行16宫格翻牌匹配一笔连
- InteliMap AI Tilemap Generator 1.2.1.unitypackage
- (源码)基于Spring Boot和MyBatis Plus的学生选课系统.zip
- (源码)基于Arduino和Raspberry Pi的语音控制风扇系统.zip
- CocosCreator源码资源H5小游戏源码大合集激流勇进天天消消乐别踩白块线条生存打砖块射击保卫星球射击吃豆人开心消消乐俄罗
- (源码)基于Spring Boot和MyBatis的知识库管理系统.zip
- (源码)基于无线传输的实时数据通信验证系统.zip
- (源码)基于ESP32的Secret Box状态监控与管理系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功