- 博客(60)
- 收藏
- 关注
原创 PHP函数学习总结
时,如果关系是操作符所指定的那个,函数将返回 true。此参数区分大小写,它的值应该是小写的。默认情况下,在第一个版本低于第二个时,指定的扩展已加载,返回 true。version1:第一个版本数。version2:第二个版本数。第二个版本更低时则返回。:扩展名称,大小写不敏感。,否则返回 false。,否则返回 false。
2023-12-25 09:47:21
667
原创 php(2023-08-31T16:00:00.000Z)时间格式转换
请注意,上述代码假设系统时区已设置为UTC或GMT。如果您的系统时区不是UTC或GMT,可能需要在代码中进行相应的调整。函数将Unix时间戳格式化为指定的日期时间字符串,并加上8小时的时差,以得到中国的正常时间。函数截取日期时间字符串的前19个字符(去除毫秒和时区部分),然后使用。函数将其转换为Unix时间戳。
2023-09-26 10:00:02
1076
原创 windows导入sql文件报错[Err] 1146 - Table ‘*******‘ doesn‘t exist
mysql8.0执行mysql_upgrade -uroot -p --force --skip-version-check。mysql5.7执行mysql_upgrade -uroot -p --force。管理员身份进入,mysql安装目录下bin目录中。随后输入密码等待执行完毕就OK。
2023-03-16 16:33:33
990
原创 redis 雪崩、击穿、穿透
双十一期间,所有用户一打开淘宝就是进入首页,首页的压力非常大,为了提高并发,将网站首页数据都缓存到redis里,所有的redis key失效时间都是3小时。双十一当天大量用户剁手狂欢,这时候3个小时过去了,redis里首页的key缓存全部失效,这时候redis里查询不到数据了,只能去数据库中查询,造成数据库无法响应挂掉。竞拍了2小时59分,马上要拍到一个亿了,突然这双鞋在redis里的key数据过期了,导致该key的大量请求,都打到了数据库,直接导致数据库挂掉了,服务无法响应。...
2022-08-29 09:34:02
208
原创 Docker部署nginx实现负载均衡
1.掌握什么是负载均衡2.nginx怎么实现负载均衡3.负载均衡的常见算法4.为什么使用docker搭建负载均衡实验环境:Centos 7DockerNginx利用宿主机和两个nginx容器来实现负载均衡,宿主机无任何内容。只搭载一台nginx服务器,并由此台服务器将请求转发给两个nginx容器来进行处理不知道什么是nginx 负载均衡,请移步 nginx负载均衡1.安装Docker(个人推荐配置阿里云源)2.宿主机安装Nginx关闭防火墙和selinux传送门:selinux是什么cen
2022-06-13 20:10:35
4836
原创 Docker的安装及使用
1.了解什么是docker2.为什么要学习docker3.掌握docker和传统虚拟机的差异3.掌握docker核心概念5.掌握怎么安装docker1.1 掌握为什么要学习docker1.2 掌握什么是docker通过下面这幅图,我们可以很直观的反映出这两者的区别所在:1.3 docker优势1.3 掌握docker基本概念三个基本的概念:Image(镜像)那么镜像到底是什么呢?Docker 镜像可以看作是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一
2022-06-13 16:24:35
1138
原创 Laravel 数据迁移填充用户表
创建生成模型和迁移文件php artisan make:model Models/User -mpublic function up(){ Schema::create('users', function (Blueprint $table) { $table->id(); // 角色 $table->unsignedInteger('role_id')->default(0)->comment('角色ID')
2022-03-21 20:52:05
991
原创 微信小程序wx.request请求header中携带token值
微信小程序使用接口鉴权时要用到jwt token值需要放在header中在wx.request请求中需要将token值放在header信息中 wx.request({ url: 'http://www.tp.com/api.php/show', header:{ // wx.getStorageSync('token') 从缓存中取出token值 "authorization":"bearer"+wx.getStorageSyn..
2022-03-13 20:06:03
15766
6
原创 微信小程序 下拉刷新 上拉加载
为了样式好看引入了lin-ui样式书写wxml前段页面<scroll-view class="scroll" bindscrolltolower="bottom" scroll-y="{{true}}" bindscrolltoupper="top"><block wx:for="{{list}}"> <l-card type="primary" l-img-class="right-card" position="right" image="{{item.p
2022-03-06 20:11:22
491
原创 微信小程序授权登录
小程序js书写 /** * 授权登录点击事件 */getUserProfile(e) { // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认,开发者妥善保管用户快速填写的头像昵称,避免重复弹窗 wx.getUserProfile({ desc: '展示用户信息', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写 success: (res) => {
2022-03-06 19:56:15
399
原创 微信小程序短信验证登录
首先小程序wxml页面<!--pages/logins/logins.wxml--><view class="container"> <view class="title">登录</view> <form catchsubmit="login"> <view class="inputView"> <input class="inputText" placeholder="请输入手机号" name
2022-03-06 19:45:46
1507
原创 微信小程序lin-ui卡片(card)模版wxss样式
.card-dot { width: 18rpx; height: 18rpx; border-radius: 50%; border: 6rpx solid #3963bc; margin-left: 26rpx;}.card-top { display: flex; flex-direction: row; align-items: center; width: 750rpx; height: 100rpx;}.content-name { fo.
2022-03-05 11:32:12
1806
原创 微信小程序wxParse富文本解析
首先下载将红框中的文件复制到项目中在js中引用const WxParse=require('../../wxParse/wxParse.js');在wxss中引用@import"/wxParse/wxParse.wxss";在wxml中书写<import src="/wxParse/wxParse"></import><template is="wxParse" data="{{wxParseData:article.nodes}}"/>
2022-01-16 21:39:01
459
原创 微信小程序WXS文字截取
先写一个wxs文件function sub_str(str,start,length){ // 起始位置 var offset = start || 0; var len = length || 10; // 判断字符串长度 if(str.length<=len) { return str; } var strnew = str.substring(offset,len); return strnew+"....";}module.expor
2022-01-16 21:12:08
610
原创 微信小程序商品详情页面实现三个tab选项卡(商品参数、商品介绍、规格明细)
前段书写 <view class="about"> <!-- 循环展示出tap信息 --> <block wx:for="{{swiperTitle}}"> <view bindtap="tapTitle" data-id="{{index}}" class="{{item.class}}">{{item.name}}</view> </block> </view> <!
2022-01-16 21:07:50
1452
原创 微信小程序联想搜索
首先在视图层写一个搜索框<input type="text" placeholder="请输入要搜索的商品名称" bindinput="search"/></view>// 循环输出结果<block wx:for="{{search}}"><view>{{item}}</view></block>在js中方法 search(e){ // 清除之前的定时器 clearTimeout(this.da
2022-01-16 20:05:52
899
原创 微信小程序生命周期函数
请参考:https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/app.htmlApp声明周期函数onLaunch(options): 1. 调用时机:小程序被加载完毕的时候调用。这个方法一般用来做一些初始化的事情。比如获取用户信息、获取 历史缓存信息、获取小程序打开来源等。 2. 参数: | 参数 | 类型 | 说明 | | :--- | :--- | :--- | | path | Strin.
2022-01-14 20:51:24
963
转载 30 分钟学会 Flex 布局
为什么我要写这一篇关于 Flex 布局的教程?因为它十分简单灵活,区区简单几行代码就可以实现各种页面的的布局,以前我在学习页面布局的时候我深受其 float、display、position 这些属性的困扰。然而学习 Flex 布局,你只要学习几个 CSS 属性,就可以写出简洁优雅复杂的页面布局。本教程适合人群:前端小白,不太明白页面布局技巧,但想通过简单的学习学会如何进行页面布局 学过但是不太熟悉 Flex 布局,需要教程来巩固回顾 Flex 布局的知识点 项目不考虑兼容 IE 低版本浏览
2022-01-14 20:45:26
3758
1
原创 微信小程序flex布局讲解
flex布局: flex 布局是继 标准流布局 、 浮动布局 、 定位布局 后的第四种布局方式。这种方式可以非常优雅的实现子元素居中或 均匀分布,甚至可以随着窗口缩放自动适应。 flex 布局在浏览器中存在一定的兼容性(具体参 考: https://developer.mozilla.org/zh- CN/docs/Web/CSS/CSS_Flexible_Box_Layout/Using_CSS_flexible_boxes#%E6%B5%8F%E8%A7%88%E5%99%A8%E5%8
2022-01-14 20:39:44
10330
原创 mysql函数合集
1. 字符函数#length(获取字节数,UTF-8编码中 一个汉字占3个字节,GBK编码中一个汉字占2个字节)Copyselect length('abc'); #结果:3 select length('张三'); #结果:6 concat(拼接字符串)Copyselect concat('a', 'b', 'c'); #结果:abc concat_ws(从二个参数开始拼接字符串,中间以第一个字符隔开)Copyselect concat_ws(',',
2022-01-13 16:49:41
109
原创 PHP在类外设置私有属性(__set __get)
需要使用到的魔术方法 __set __get思路:__set 是设置私有化属性值 __get 获取私有化属性值代码示例class A{ private $aaa; private $bbb; /** * 为私有属性赋值 * @param $name * @param $value */ public function __set($name, $value) { // TODO: Implem..
2022-01-12 09:35:41
577
原创 Linux命令
一、进阶指令1.du指令作用:du 显示出目录所占的磁盘大小的情况语法:du -sh 目录路径选项说明-s:表示sumary,汇总统计-h:表示以较高可读性的形式表示2.df指令作用:disk free ,查看磁盘的剩余空间的情况语法:df -h选项说明:-h:表示以较高可读性单位进行查看3.free指令作用:查看内存的使用情况语法:free -m选项含义:-m:表示以mb为单位进行查看注意:第一行表示memory,是内存各项数
2022-01-06 21:21:08
65
原创 商品添加购物车
首先封装购物车类class CartBusiness{ // 商品添加购物车 public static function addCart($goods_id,$goodsSpecId,$number,$is_selected){ // 判断是否登录 if (session('?userInfo')){ // 登录存入数据库 $user_id=session('userInfo.id');
2021-12-30 11:49:50
991
原创 结算购物车生成订单
首先封装购物车中商品数据我这里是在OrderBusiness中封装的public static function getCartWithGoods(){ $user_id=session('userInfo.id'); // 用户购物车商品 $cartData=Cart::with(['cartGoods','cartSpec'])->where('user_id',$user_id)->select()->toArray();
2021-12-30 10:27:46
1183
原创 支付宝支付接口
下载SDKSDK & Demo - 支付宝文档中心 (alipay.com)下载完成后可以放在public目录下然后进入config.php进行配置
2021-12-30 10:16:16
707
原创 JWT鉴权获取不到头信息中的token值
在public下的.htaccess中加入以下代码<IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f #增加如下内容 SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0...
2021-12-25 12:00:20
868
1
原创 腾讯云短信发送php
申请完腾讯云的签名和模板之后composer安装依赖包composer require qcloudsms/qcloudsms_php安装成功后开始封装在config中创建sms.phpapp_id,app_key在 应用管理->应用列表中查看发送短信代码class SendSms{ public static function sendInfo($code,$phone) { $app_id = config('...
2021-12-25 10:00:56
952
原创 thinkphp6防止接口恶意请求
composer安装composer require topthink/think-throttle安装后会自动为项目生成config/throttle.php配置文件根据自己的需求修改配置文件修改请求方式和请求时间次数修改提示语句在路由中加后缀...
2021-12-25 09:10:49
571
原创 品优购项目商品规格详情
后端 public function goodsItem($id){ $goods=\app\api\model\Goods::with(['images','specGoods'])->find($id)->toArray(); $goods['goods_attr']=json_decode($goods['goods_attr']); $valueIds=array_unique(explode('_',implode('_',array_
2021-12-22 21:30:44
137
原创 七牛云腾讯云上传文件
安装composercomposer require lorine/oss-utils控制器 public function upload(Request $request){ $data=$request->file('img'); // 不会封装的话就直接用这个// $config = [// 'ak' => 'xxxxxx',//SecretId /Access_Key// .
2021-12-18 11:49:00
310
原创 ThinkPHP不可预知的异常捕获处理
Thinkphp6中位于app目录下有一个文件ExceptionHandle.php,这个文件就是整个项目的异常处理文件,所有程序抛出异常,均会定位到这个文件中的render方法中,你可以在这里进行全局的异常处理。但是这个文件的作用域是整个项目,针对目前的api模块来说需要的是JSON格式的错误信息,后期开发前台的时候就不需要JSON格式的信息了,可能是一个前端小姐姐写的页面。于是乎,就需要针对api模块新增异常处理在api目录下增设一个Exception目录...
2021-12-13 15:35:14
1114
原创 商城后台系统商品模型(类型)新增接口开发
商品模型新增接口文档请求地址POST /types需进行token认证示例:http://adminapi.tbyue.com/types请求参数名称 类型 必填 备注 type_name string 是 模型名 spec int 是 规格数组 attr int 是 属性数组 参数示例:type_name: 手机spec[0][name]: 颜色spec[0][sort]: 50.
2021-12-13 15:21:12
612
原创 连表查询与模型关联
连表查询在使用数据库查询语句时,单表的查询有时候不能满足项目的业务要求,在项目开发过程中,有很多需求都是涉及到多表的连接查询,总结一下mysql中的多表关联查询需求:查询所有商品品牌信息及其所属分类名称连表查询一个品牌以及分类...
2021-12-13 15:17:51
937
原创 git 合并分支
假如在one分支上并且one提交项目到仓库完毕现在想要把one分支合并到master分支下首先切换到master分支下git checkout master把远程master上的代码pull下来git pull origin master查看状态git status执行提交命令git push origin master合并完成git命令复制一个已创建的仓库:$ git clone ssh://haorooms@doma...
2021-12-12 20:32:38
10985
原创 git上传代码至gitee
进入代码目录右键点击Git Bash Here输入 git init 初始化仓库设置提交者的用户名git config --global user.name "****"设置提交者的联系邮箱git config --global user.email "*********@qq.com"开始添加文件 (注意add和点之间有空格)git add .提交文件git commit -m “写提交说明”提交仓库的地址gi...
2021-12-12 19:54:56
157
原创 ThinkPHP6 隐藏身份证中间8位
<table class="table"> <thead> <tr> <th>企业编号</th> <th>企业名称</th> <th>法人名称</th> <th>证件号码</th> <th>公司类型</th> <th>email地址</th> <th>操.
2021-12-10 10:00:42
552
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人