tp6
糯麦
这个作者很懒,什么都没留下…
展开
-
PHP中时间获取大全
PHP中时间获取大全原创 2022-11-01 17:40:37 · 5278 阅读 · 0 评论 -
TP6订单待支付超时自动取消
3:设置配置文件,使用redis进行存储,文件位置config/queue.php。4:app目录下新建queue文件夹,文件夹下新建Order.php处理类。6:生成订单后查看redis队列是否存在新订单数据。安装supervisord管理器。2:安装think-queue。5:订单生成成功后调用延时队列。8:宝塔环境添加进程守护。7:到期执行订单状态修改。原创 2022-09-19 13:12:17 · 1094 阅读 · 0 评论 -
TP6中Field使用
TP6中Field使用原创 2022-09-05 01:06:30 · 2343 阅读 · 0 评论 -
TP6 JWT 以及本地 SSL证书
JWT原创 2022-08-19 10:30:37 · 243 阅读 · 0 评论 -
续签ssL证书失败
1:升级宝塔至独立版curl https://download.bt.cn/install/update_panel.sh|bash2:重新设置续签计划/www/server/panel/pyenv/bin/python /www/server/panel/class/acme_v2.py --renew=1原创 2021-08-07 10:28:32 · 882 阅读 · 0 评论 -
PHP隐藏手机号码中间4位
1:字符串截取substr($tel, 0, 3).'****'.substr($tel, 7)2:替换字符串substr_replace($tel, '****', 3, 4)3:正则preg_replace('/(\d{3})\d{4}(\d{4})/', '$1****$2', $tel)原创 2021-07-02 13:35:27 · 136 阅读 · 1 评论 -
PHP生成唯一ID的几种方法
1:MD5加密(有一定概率出现重复)(例:2995cdd038beb76145b675a7cef2b994)md5(time().mt_rand(1,1000000))2:uniqid()函数(由于基于系统时间,通过该函数生成的 ID 不是最佳的。如需生成绝对唯一的 ID,请使用 md5() 函数配合使用)(例:6083a5d06c64d)3:session_create_id()函数(PHP 7.1新增函数)重复率较低,一般情况下可使用(例:j8emn2fn64dgk847o7m0b42nd原创 2021-04-24 13:07:17 · 793 阅读 · 0 评论 -
PHP时间获取
获取前一分钟的时间:date("Y-m-d H:i:s", strtotime("-1 minute"))获取前一个小时的时间:date("Y-m-d H:i:s", strtotime("-1 hour"));获取前一天的时间:date("Y-m-d H:i:s", strtotime("-1 day"));获取前一星期的时间:date("Y-m-d H:i:s", strtotime("-1 week"));获取前一个月的时间:date("Y-m-d H:i:s", strto原创 2021-04-22 15:03:00 · 85 阅读 · 0 评论 -
PHP 经纬度操作
经纬度排序,单位m需要转换public static function list($longitude,$latitude){ return self::where('status',1) ->withoutField('create_time,update_time,delete_time') ->field("(6378.137 * 2 * asin(sqrt(pow(sin((latitude * pi() / 180 - ".$latitud原创 2021-04-05 16:45:37 · 227 阅读 · 0 评论 -
Win10下安装Redis
1:下载地址:https://github.com/tporadowski/redis/releases2:解压并修改文件夹名称同时将文件夹剪切至常用目录下3:启动Redis服务器,打开cmd进入到对应的文件夹目录,并运行:redis-server.exe redis.windows.conf4:客户端连接服务器(新建cmd窗口,原来的不能关闭,关闭则表示关闭redis服务器)5:可视化工具安装(Redis Desktop Manager)自行百度6:PHP安装原创 2021-04-01 11:39:24 · 605 阅读 · 0 评论 -
PHP二维数组按照键值进行排序
$products = [ [ "id" => 1, "price" => "15", ], [ "id" => 2, "price" => "12", ], [ "id" => 3, "price" => "20", ],]$priceArray = [];foreach ($products as $product) .原创 2021-03-31 16:14:00 · 118 阅读 · 0 评论 -
TP6模型中执行事务操作
1:修改相关表数据表引擎为InnoDB,默认为MyISAM(不支持事务处理)2:执行代码public static function test(){ // 开启事务 self::startTrans(); try { self::find(1); self::destroy(1); // 提交事务 self::commit(); } catch (HttpException $e){原创 2021-03-27 10:35:49 · 1941 阅读 · 1 评论 -
TP6 WhereIn排序问题
$ids = [3,6,2,1,9];$ids = implode(',',$ids);$order= 'field(id,'.$ids.')';return User::whereIn('id',$ids)->order(Db::raw($order))->select();原创 2021-03-25 16:07:36 · 2533 阅读 · 0 评论 -
PHP本地访问HTTPS
1:下载 cacert:curl.haxx.se/ca/cacert.pem2:复制到对应的PHP版本SSL文件夹中3:修改 php.ini ,找到 curl.cainfo,把前面的 ;去掉,把 cacert.pem 文件的绝对路径写上原创 2021-03-22 13:28:38 · 369 阅读 · 0 评论 -
WampServer在window自动开启
1、桌面找到我的电脑-->右键点击管理-->服务和运用程序-->服务2、找到wamp相关服务,将其启动类型改为自动。原创 2021-03-22 10:15:12 · 179 阅读 · 0 评论 -
wampserver数据库导入
1:将原始安装地址数据库文件复制到新安装的wampserver文件夹中(wamp64\bin\mysql\mysql5.7.31\data)2:删除新目录中的ib_logfile0 、ib_logfile1文件3:将旧目录中的ibdata1复制替换至新目录中原创 2021-03-22 10:08:45 · 1683 阅读 · 1 评论 -
TP6 jwt token验证
composer require firebase/php-jwt1:签发use \Firebase\JWT\JWT; //导入JWT//签发Tokenpublic function lssue(){ $key = '344'; //key $time = time(); //当前时间 $token = [ 'iss' => 'http://www.baidu.com', //签发者 可选 'aud' => 'http:/.原创 2021-03-17 14:11:09 · 575 阅读 · 0 评论 -
tp6跨域 header 参数报错解决方案
官方跨域中间件header中添加自己需要设置的key值原创 2021-03-15 15:38:23 · 1197 阅读 · 0 评论 -
guzzlehttp/guzzle
composer require guzzlehttp/guzzle:~6.01:引入use GuzzleHttp\Client;2:使用$client = new Client(['timeout' => 5, 'verify' => false]); //verify不校验https$response = $client->request('POST',$base_url,[ 'json' => $body]);return json(jso.原创 2021-03-15 09:48:47 · 325 阅读 · 0 评论 -
PHP二维数组排序
usort($sku,function ($x,$y){ return strcasecmp($x['price'],$y['price']);});如果是反序,将strcasecmp参数相互变换位置原创 2021-02-02 11:08:04 · 85 阅读 · 0 评论 -
tp6.0笔记(路由)
use think\facade\Route;1:注册路由Route::get('new/<id>/<cate?>','News/detailed');快捷方式包含:get,post,put,delete,patch,any;<cate?>表示该变量为可选变量;可选参数只能放到路由规则的最后,如果在中间使用了可选参数的话,后面的变量都会变成可选参数。2:完全匹配Route::get('new/<id>/<cate?>$',.原创 2020-11-09 16:34:42 · 675 阅读 · 0 评论 -
tp6.0笔记(3)
1:门面(Facade),将动态类转化为静态类,方便静态调用,同时保持动态类的原有特性,例如构造函数__construct();namespace app\facade;use think\Facade;class Test extends Facade{ protected static function getFacadeClass() { return 'app\common\Test'; }}2:中间件(middleware)用于拦截或过滤应用的原创 2020-11-09 15:11:16 · 219 阅读 · 0 评论 -
tp6.0笔记(2)
1:配置Configuse think\facade\Config;读取配置参数:Config:get('app.app_name');判断配置参数:Config:has('app.app_name');设置配置参数:Config:set(['name'=>tp6],'app');2:获取当前应用名app('http')->getName();根目录:root_path();基础目录:base_path(); 根目录下App目录应用目录:app_path.原创 2020-11-09 14:44:33 · 356 阅读 · 0 评论 -
TP6.0笔记(1)
1:安装composer create-project topthink/think tp2:升级composer update topthink/framework3:多应用模式composer require topthink/think-multi-app4:模板引擎composer require topthink/think-view5:filesystem扩展包composer require thans/thinkphp-filesystem-cl原创 2020-11-09 14:23:34 · 77 阅读 · 0 评论