PHP
zmlucky
这个作者很懒,什么都没留下…
展开
-
PHP 生成模糊图片
$filename = "Uploads/card/card_poster.png"; //生成白色背景图 用于图片合成 $blank_bg_w = 375; // 背景图片宽度 $blank_bg_h = 553; // 背景图片高度 $blank_background = imagecreatetruecolor($blank_bg_w,$blank_bg_...原创 2022-05-27 15:16:05 · 313 阅读 · 0 评论 -
hyperf 软删除
deleted_at 默认为null`delete_time` int(11) unsigned DEFAULT NULL COMMENT '软删除',原创 2021-05-13 09:27:08 · 1198 阅读 · 0 评论 -
php 添加snowflake扩展
雪花ID全家桶 https://gitee.com/yitter/idgeneratorphp扩展安装 https://gitee.com/yitter/idgenerator/tree/master/PHPgit clone https://gitee.com/yitter/idgenerator.gitcd idgenerator/PHPphpize./configure --with-php-config=/path/php-config//修改path地址//./configu原创 2021-05-08 14:07:36 · 445 阅读 · 0 评论 -
tp5 Bootstrap分页 添加每页显示数量
萤火小程序商城后台需求:框架列表默认每页显示15条,添加一个输入框,输入每页显示数量改造前改造后\thinkphp\library\think\paginator\driver\Bootstrap.php 修改render函数,添加一个生成每页显示条数输入框函数 /** * 渲染分页html * @return mixed */ public function render() { if ($this-.原创 2021-04-24 15:28:44 · 2015 阅读 · 0 评论 -
PHP tp5 读取csv文件、读取文件夹内容
$fileIdPath = ROOT_PATH . "/456.csv";$file = fopen($fileIdPath, "r");$playerData = [];while (!feof($file)) { $playerData[] = (fgetcsv($file));}fclose($file);$filePath = ROOT_PATH . "/goods_image";$img_list = scandir($filePath);unset($img_lis.原创 2021-04-16 17:54:00 · 441 阅读 · 0 评论 -
Grafika 使用
参考教程:https://blog.csdn.net/qq_34657922/article/details/79479892 // 实例化图像编辑器 $editor = Grafika::createEditor(['Gd']); // 字体文件路径 $priceFontPath = __DIR__ . '/fonts/Baloo2.ttf'; $strFontPath = __DIR__ . '/fonts/Regu.原创 2021-04-15 18:03:28 · 668 阅读 · 0 评论 -
PHP 二维数组重置索引
$list = array( 1 => array( 'title' => 'BELLE牛皮高帮及膝骑士靴', 'price' => 368.000, 'store' => 99 ), 10 => array( 'title' => 'CLINIQUE 倩碧 特效润肤乳液125ml', 'price' => 368.000, 'store' =&.原创 2021-04-15 17:55:00 · 1107 阅读 · 0 评论 -
EasyWeChat 代小程序开发 获取手机号
/** * 获取微信开发平台对象 * @return \EasyWeChat\OpenPlatform\Application * */function openPlatform(){ $redis = new Redis(); $redis->connect(Env::get('easywechat.host'),Env::get('easywechat.port')); $redis->select(Env::get('easywechat.select.原创 2021-04-02 13:53:18 · 2624 阅读 · 0 评论 -
PHP 判断utf-8 gb2312 转换格式
//读取评论 $path = $_FILES["comment"]['tmp_name']['file_data']; $file = fopen($path, "r"); $content_list = array(); $i = 0; //输出文本中所有的行,直到文件结束为止。 while (!feof($file)) { $s.原创 2021-04-01 16:16:30 · 125 阅读 · 0 评论 -
PHPstorm 函数注释
/**${CARET}@date ${DATE} ${HOUR}:${MINUTE}:${SECOND}@author zm${PARAM_DOC}#if (${TYPE_HINT} != "void") * @return ${TYPE_HINT}#end${THROWS_DOC}*/光标会停留在红框位置,方便写函数描述原创 2021-03-29 10:32:07 · 408 阅读 · 0 评论 -
tp5 where 原生语句
$list = $MdShopOrderModel ->field('s_o.id,s_o.create_time,(s_o.start_time + 604800) as goods_cycle_time,s_o.start_time,s_o.end_time') ->alias('s_o') ->where('(s_o.start_time + 604800) >' . $time) .原创 2021-03-04 10:49:19 · 608 阅读 · 1 评论 -
mysql group order 顺序
框架:thinkPHP5解决分组后排序不是最新记录的问题。public function getListsGroupUserId($where = [], $limit = 5) { $subQuery = self::where($where) ->alias("l") //取一个别名 ->order(['l.id' => 'desc']) ->limit(10000000.原创 2021-03-03 11:58:04 · 1513 阅读 · 0 评论 -
php 二维数组排序
二维数组根据某一字段排序$new_prize = [ ['id'=>1,'sort'=>1], ['id'=>2,'sort'=>2], ['id'=>3,'sort'=>3], ]; //正序 usort($new_prize, function ($a, $b) { $al = $a['sort']; $bl = $b['sort']; if (原创 2021-02-27 14:28:26 · 74 阅读 · 0 评论 -
thinkPHP5 数组分页
thinkPHP5 数组分页,伪分页,只是前端分页,SQL查询不分页//控制器$param = $this->request->param(); if ($param['flag'] == 'show') { $res = $this->StatisticsGoodsshareService->getLists($param); $list = $res['new_data']; } else.原创 2021-02-27 14:22:04 · 421 阅读 · 0 评论 -
SQL报错 BIGINT UNSIGNED value is out of range in xxx
框架: thinkPhp5.1PHP 7.3create_time 是 unsigned类型,相减出现负数,所以报错。mysql 当两个字段想减时,如果其中一个或两个字段的类型的unsigned无签名类型,如果想减的值小于0则会报错(BIGINT UNSIGNED value is out of range)$list = $MdShopOrderModel ->field('s_o.id,g.goods_id,g.goods_name,s_o.create原创 2021-02-27 13:59:04 · 2188 阅读 · 0 评论 -
验证银行卡号
/** * 验证银行卡号 * @param string $bankCardNo 银行卡号 * @return bool 是否合法(true:合法,false:不合法) */ public function checkbank($bankCardNo) { $strlen = strlen($bankCardNo); if ($strlen < 15 || $strlen > 19.原创 2021-01-25 09:51:56 · 327 阅读 · 0 评论 -
count去重统计
$list = self::where($where_day) ->alias("gl") //取一个别名 ->fieldRaw('gl.goods_id,gl.goods_name,COUNT( CASE WHEN gl.type=10 THEN gl.type END) as enter,COUNT(DISTINCT CASE WHEN gl.type=40 THEN gl.order_id END) AS pay') .原创 2021-01-05 10:20:52 · 672 阅读 · 0 评论 -
微信内容检测 msgSecCheck
参考教程 https://developers.weixin.qq.com/community/develop/doc/0002c858d486a87ac217fb7cf5b404?highLine=msgSecCheck官方文档 https://developers.weixin.qq.com/minigame/dev/api-backend/open-api/sec-check/security.msgSecCheck.html/** * Notes: 敏感词检测 微信API ...原创 2020-12-10 23:09:43 · 2401 阅读 · 0 评论 -
php面试题
记录一下面试题1.cookie 和session 的区别:cookie数据存放在bai客户的浏览器上,dusession数据放在服务器上。 cookie不是很安zhi全,别人可以分dao析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session。 session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用COOKIE。 单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。原创 2020-10-28 00:30:44 · 164 阅读 · 2 评论 -
thinkphp5 定义路由
参考:https://www.jb51.net/article/131549.htm访问http://aa.com/index.php/index/Index/newhttp://aa.com/index.php/index/Index/helloRoute::get('think', function () { return 'hello,ThinkPHP5!';});Route::get('hello/:name', 'index/hello'...原创 2020-10-11 22:10:16 · 951 阅读 · 0 评论 -
批量修改数据库某一字段
update t_product set score=price;使积分字段等于加个字段原创 2020-09-16 11:14:44 · 928 阅读 · 0 评论 -
PHP对接支付宝支付APP端
1、登录支付宝开放平台--控制台--新建自研应用--网页&移动应用1.1、添加能力--APP支付,等待审核1.2、设置接口加签方式,使用公私钥方式,不是证书2、下载SDK,看文档AopClient.php 添加命名空间namespace App\Libs\AlipaySDK\aop;use App\Libs\AlipaySDK\aop\AopClient;$orderNo = $data['payNo'];$amount = $data['a..原创 2020-09-07 17:51:32 · 1598 阅读 · 0 评论 -
empty和isset区别
empty 1 bool empty ( mixed $var ) 判断变量是否为空。isset 1 bool isset ( mixed $var [ , mixed $... ] ) 判断变量是否被设置且不为NULL。$result = empty(0); // true$result = empty(null); // true$result = empty(false); // true$r...原创 2020-08-31 23:27:53 · 119 阅读 · 0 评论 -
根据经纬度计算距离并排序分页
$userItem = User::get($uid);$lng = $userItem['longitude'];$lat = $userItem['latitude'];$EARTH = 6378.137; //地球半径$PI = 3.1415926535898; //PI值$model = new StoreOrder;// 待接单$map1 = [ ['a.paid', '=', 1], ['a.status', '=', 0.原创 2020-07-28 16:24:59 · 918 阅读 · 0 评论 -
uniapp APP端 微信登录 获取微信用户数据
前端uni.login({ provider: 'weixin', success: function (loginRes) { console.log(loginRes.authResult); }});后端 获取微信用户消息//接手前端穿的参数 access_token openid$access_token = $request->param('access_token', '');$openid = $request->param('openid原创 2020-07-23 19:32:25 · 2785 阅读 · 1 评论 -
宝塔面板+laravel5.2 添加定时任务
1、laravel添加定时任务文档:https://xueyuanjun.com/post/32671.1配置console的Kernel<?phpnamespace App\Console;use Illuminate\Console\Scheduling\Schedule;use Illuminate\Foundation\Console\Kernel as ConsoleKernel;class Kernel extends ConsoleKernel{..原创 2020-07-02 15:24:25 · 1421 阅读 · 0 评论 -
SourceGuardian加密的PHP扩展安装过程
SourceGuardian Incompatible loader version. This protected script was encoded with newer version of SourceGuardian. Please download and install the latest loaders. Error code [19]文件错误可以把PHPinfo 信息复制到方块里https://www.sourceguardian.com/loaders/download.ph原创 2020-06-21 14:28:39 · 5943 阅读 · 0 评论 -
sql语句查询一个表中某一列的相同数据
1、找出这列中有相同内容的列的数据。代码如下:select 列名 from 表名 group by 列名 having count(列名) > 12、把这些有相同内容的记录,查出来。代码如下:select 列名 from 表名 where 列名 in (select 列名 from 表名 group by 列名 having count(列名) > 1)...原创 2020-06-21 14:26:35 · 5973 阅读 · 0 评论 -
tp5查询当天数据、分组查询当天数据
//当天数据$beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));$endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;$map['create_time'] = array('between', array($beginToday,$endToday));/...原创 2020-03-26 17:32:18 · 5936 阅读 · 0 评论 -
php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳
参考教程://php获取今日开始时间戳和结束时间戳 $beginToday=mktime(0,0,0,date('m'),date('d'),date('Y')); $endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1; //php获取本周起始时间 $beginWeek = mktime(0,0,0,date("m"),...原创 2020-03-26 17:27:13 · 218 阅读 · 0 评论 -
php存储微信含emoji表情昵称
开发环境:PHP+MySQL+TP5方案一在存储之前用base64对数据进行编码然后存入 base64_encode($str);从数据库拿出来之前再进行解码 base64_decode($str);方案二数据库设置字符集数据表对应字段设置字符集设置tp5框架数据库编码 (没有设置这一项,数据库里会把表情存储为四个问号)方案三直接去除昵称...原创 2020-03-05 11:33:48 · 1141 阅读 · 0 评论 -
laravel进阶--6 异常处理 & 错误日志
错误详情配置文件 config/app.php 中的 debug 配置项控制浏览器显示的错误信息数量。默认情况下,该配置项通过 .env 文件中的环境变量 APP_DEBUG 进行设置。对本地开发而言,你应该设置环境变量 APP_DEBUG 值为 true。在生产环境,该值应该被设置为 false。如果在生产环境被设置为 true,就有可能将一些敏感的配置值暴露给终端用户。...原创 2019-12-31 10:46:06 · 1957 阅读 · 0 评论 -
laravel进阶--5 缓存
在缓存中存储数据你可以使用 Cache 门面上的 put 方法在缓存中存储数据。当你在缓存中存储数据的时候,需要指定数据被缓存的时间(分钟数):Cache::put('key', 'value', $minutes); 除了传递缓存项失效时间,你还可以传递一个代表缓存项有效时间的 PHP Datetime 实例: $expiresAt = Carbon::now()->a...原创 2019-12-31 10:44:15 · 481 阅读 · 0 评论 -
laravel进阶--4 文件上传
laravel 上传 php 需要开启 fileinfo 扩展前端页面@extends('layouts.app')@section('content')<div class="container"> <div class="row"> <div class="col-md-8 col-md-offset-2"> ...原创 2019-12-31 10:40:14 · 291 阅读 · 0 评论 -
laravel进阶--3 数据库填充器及模型工厂
生成填充器要生成一个填充器,可以通过 Artisan 命令 make:seeder。所有框架生成的填充器都位于 database/seeds 目录:php artisan make:seeder StudentsTableSeeder编辑填充器<?phpuse Illuminate\Database\Seeder;use App\Http\Models\Studen...原创 2019-11-08 23:54:06 · 181 阅读 · 0 评论 -
laravel进阶--2 数据迁移
新建迁移文件CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL DEFAULT '' COMMENT '姓名', `age` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '年龄', `sex...原创 2019-11-08 23:54:12 · 191 阅读 · 0 评论 -
laravel进阶--1 Artisan 命令行
Artisan 是 Laravel 自带的命令行接口,它为我们在开发过程中提供了很多有用的命令。想要查看所有可用的 Artisan 命令,可使用 list 命令:php artisan list每个命令都可以用 help 指令显示命令描述及命令参数和选项。想要查看帮助界面,只需要在命令前加上 help 就可以了:php artisan help migratephp arti...原创 2019-11-08 23:54:15 · 179 阅读 · 0 评论 -
laravel进阶--0 composer 安装laravel
全局安装composerphpstudy 环境下参考 https://www.cnblogs.com/gzyx1988/p/9498902.html参考文章 https://pkg.phpcomposer.com/#how-to-install-composer1,安装前请务必确保已经正确安装了PHP。打开命令行窗口并执行php -v查看是否正确输出版本号。...原创 2019-11-08 23:54:41 · 4266 阅读 · 0 评论 -
laravel基础--9.6 表格demo-详情及删除数据
创建详情模板detail.blade.php@extends('common.layouts')@section('content') <!-- 自定义内容区域 --> <div class="panel panel-default"> <div class="panel-heading">学生详情</div>...原创 2019-11-08 23:54:17 · 391 阅读 · 0 评论 -
laravel基础--9.5 表格demo-编辑数据
分离公共表单{{--<form class="form-horizontal" method="post" action="{{ url('student/save') }}">--}} <form class="form-horizontal" method="post" action=""> {{ csrf_fie...原创 2019-11-08 23:54:37 · 155 阅读 · 0 评论