![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
php
TurboMT
这个作者很懒,什么都没留下…
展开
-
php限制某个时间段进行操作
php限制某个时间段进行操作原创 2023-03-01 16:45:07 · 374 阅读 · 1 评论 -
计算两个日期相隔多少年,多少月,多少天
计算两个日期相隔多少年,多少月,多少天原创 2023-01-05 13:41:13 · 483 阅读 · 0 评论 -
PHP快速输出26大小写字母
PHP快速输出26大小写字母。原创 2022-10-19 11:31:14 · 646 阅读 · 0 评论 -
php对二维数组按指定字段重新排序
php中二维数组根据指定字段重新排序。原创 2022-09-26 15:39:58 · 187 阅读 · 0 评论 -
php获取ip归属地
之前用的ip查询接口突然不能用了,再找了一个,顺便发布一下 /** * @name: 获取ip归属地 * @param {str} $ip IP地址 * @author: Turbo * @Date: 2022-05-20 09:15:44 */ public function getIpAddress($ip = '') { if(empty($ip)){ $ip = $_REQUEST['原创 2022-05-20 11:07:02 · 2143 阅读 · 2 评论 -
php判断字符串中是否包含指定字符串
有两种方法,可以利用字符串查找函数strstr()与strpos()strstr()函数->查找指定字符串第一次出现,并返回字符串的剩余部分:strpos()函数->查找指定字符串中第一次出现的位置(从0开始)这里推荐使用速度更快、耗费内存更少的strpos()函数(区分大小写,不区分大小写则用stripos())$str = 'hello china ~';$checkstr = 'hello';// 这里判断必须用双等号 !== 才有效果,因为可能返回等同false的布尔值if原创 2022-04-27 10:37:40 · 7524 阅读 · 0 评论 -
PHP使用PhpSpreadsheet实现导出Excel时带下拉框列表(可支持联动)
最终效果核心代码<?php// 需要的扩展use PhpOffice\PhpSpreadsheet\Cell\DataValidation;use PhpOffice\PhpSpreadsheet\IOFactory;use PhpOffice\PhpSpreadsheet\NamedRange;use PhpOffice\PhpSpreadsheet\Spreadsheet;use PhpOffice\PhpSpreadsheet\Style\Alignment;use PhpO原创 2022-04-02 18:04:11 · 2509 阅读 · 0 评论 -
查询指定时间范围内的所有日期(小时、天、月份、季度、年份)
核心方法 /** * @name: 查询指定时间范围内的所有日期[支持类型:小时、天、月份、季度、年份] * @param {string} $startDate 指定开始时间格式:Y-m-d H:i:s * @param {string} $endDate 指定结束时间格式:Y-m-d H:i:s * @param {string} $type 类型:hour 小时;day 天;month 月份;quarter 季度;year 年份原创 2022-02-25 10:33:20 · 620 阅读 · 0 评论 -
微信模板消息换行
记录一下,一直在用的方法一定要用双引号"\r\n"$params = [ 'first' => ['value' => "服务订购-余额通知"], 'keyword1' => ['value' => "当前余额不足20次\r\n当前剩余次数:0次"], 'remark' => ['value' => $remark],];实际效果...原创 2021-12-17 16:02:48 · 1345 阅读 · 0 评论 -
php中格式化金额为千分位
number_format() 函数(PHP 4, PHP 5, PHP 7, PHP 8)number_format — 以千位分隔符方式格式化一个数字用法number_format( $number, // 待处理金额数字 $decimals = 0, // 小数点后保留几位小数[默认0] $dec_point = ".", // 用来分隔小数点的字符串[默认] $thousands_sep = "," // 用来分隔千分位的字符串[默认]);// 例子$number = 123原创 2021-10-22 11:24:33 · 1420 阅读 · 0 评论 -
php一维数组去重
传统方式采用array_unique()进行去重array_unique();由于 array_unique 底层调用了快排算法,加大了函数运行的时间开销,当数据量很大时,会导致整个函数的运行较慢,所以有了本篇文章采用键值互换的方法覆盖重复的值,然后再互换回来,最后重置键值array_flip();array_values();例子$test1 = [1,1,1,1,2,3,4,5,6]; // 源数据$test2 = array_flip($test1); // 键值互换覆盖重复的值原创 2021-09-28 10:33:46 · 1168 阅读 · 0 评论 -
将数组按指定的个数分隔(强制分隔)
$tempArray = ['2','2','2','2','2','2]; // 进行调用 $resArray = $this->splitArray($tempArray, 3); $resArray = [ ['2','2'], ['2','2'], ['2','2'] ]; /** * @name: 把数组按指定的个数分隔 * @param {array} $array 要分割的数组 * @param {int} $gr.原创 2021-08-10 18:41:06 · 524 阅读 · 0 评论 -
php操作类代码基础封装模板参考
记录一下平常自己封装类的格式<?phpnamespace app\common\library;/* * @name * @author Turbo * @datetime 2021-07-09 14:39:10 */class TestLibrary{ /** * 初始化 */ protected static $instance; /** * @var array 配置 */ protected $option原创 2021-07-09 14:41:39 · 195 阅读 · 2 评论 -
PHP将任意二维数组转换成一维数组
核心函数:array_reduce()array_reduce() 函数用回调函数迭代地将数组简化为单一的值。如果指定第三个参数,则该参数将被当成是数组中的第一个值来处理,或者如果数组为空的话就作为最终返回值。二维数组的键值为数字$egArray = [ 'a' => ['a', 'aa'], 'b' => ['b', 'bb']];var_dump($egArray);die;/*打印结果Array( [a] => Array (原创 2021-06-22 13:32:25 · 1039 阅读 · 4 评论 -
php处理数组_以某个字段相同值进行重组数据
原始数据// $old_dataarray(3) { [0] => array(18) { ["building_name"] => string(10) "蓝宝A栋" ["store_name"] => string(6) "蓝宝" ["store_id"] => int(7) ["building_id"] => int(13) ["is_landlord"] => int(1) } [1] => arra原创 2021-06-21 10:19:20 · 529 阅读 · 0 评论 -
php中获取本周本月本年所有时间以及时间戳
基本所有的数据统计都离不开基础条件-时间数据封装了一个function方便调用(可以根据自己想要的格式进行更改) /** * @name: 获取本周本月本年 - 时间数据[date_name时间显示名称 start_time开始时间戳 end_time结束时间戳[时间戳用于where条件搜索]] * @param {int} $time_frame 时间类型 1本周 2本月 3本年 * @author: Turbo * @Date: 2021-06-01 16:4原创 2021-06-01 16:56:42 · 325 阅读 · 2 评论 -
php随机生成用户昵称
/** * 生成随机用户名 * 2021年5月10日 13:54:39 * author Turbo * @return str */ public function generateUsername() { $chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; $username = ""; for ( $i = 0; $i < 6; $i++ ) { $username .原创 2021-05-10 14:47:12 · 923 阅读 · 4 评论 -
php中格式化某年某月某天-year、month、day
简单记录下/** * 格式化年月日[1年1月1天] * 2021年4月23日 09:37:04 * author Turbo * @param [type] $date_text 传入字符串 * @param [type] $year_unit 单位 * @param [type] $month_unit 单位 * @param [type] $day_unit 单位 * @return voi原创 2021-04-23 13:58:31 · 307 阅读 · 0 评论 -
TP5在模型中关联软删除的数据
官方文档没有给出一个专门的方法去使用,我这里的原理就是在关联的时候取消软删除public function housebyin(){ // removeOption('soft_delete') 取消软删除进行关联 return $this->belongsTo('House', 'house_id', 'id', [], 'LEFT')->removeOption('soft_delete');}...原创 2021-03-18 18:12:55 · 831 阅读 · 0 评论 -
php中的try catch简单用法
try catch用来捕获异常错误,有利于开发者及时发现错误,报错则直接抛出异常,不会影响try catch 后面代码的执行<?php $Turbo = -1; try { if($Turbo < 0){ throw new Exception('$Turbo参数 不能小于 0'); // 自定义异常信息 } # 如果出现错误则不会执行 直接就会执行 catch 抛出异常 echo '条件原创 2021-02-23 16:54:50 · 13672 阅读 · 2 评论 -
fastadmin自定义导出数据
html代码<a class="btn btn-info btn-myexcel-export" title="导出" href="javascript:;"><i class="fa fa-download"></i> 导出</a>js代码在相应页面的js代码中补充按钮脚本// 初始化表格table.bootstrapTable({ //...})// 自定义导出按钮$(document).on("click", ".btn-myex原创 2021-02-03 15:50:00 · 3380 阅读 · 1 评论 -
laravel 提交请求后多出一个s参数解决方法
很明显是因为重写问题多了个s参数很有可能用了tp的重写方式修改文件名为 .htaccess 的文件配置文件(Laravel重写配置)<IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews -Indexes </IfModule> RewriteEngine On # Handle Authorization Header.原创 2020-10-23 11:40:45 · 1396 阅读 · 0 评论 -
Apache出现403 Forbidden You don‘t have permission to access / on this server
这段话的意思是 您没有访问/权限/索引.php在这个服务器上,很显然是没有权限访问只需要在apache的配置文件中修改配置就可以了修改前修改后这里的加号和减号是来约束目录的访问权限的,去掉后就没限制了最后保存,重启apache...原创 2020-10-20 15:04:06 · 1270 阅读 · 0 评论 -
php使用if判断多个逻辑或(||)简写的方法
最近发现有业务需要多个逻辑或(||),发现写多了代码不太美观就研究出这个方法$status = $request->status;// 一般写法if($status == 200 || $status == 401 || $status == 501){ # code...}// 简写[可以把数组单独封装起来]if(in_array($status, [200, 401, 501])){ # code...}简写的好处就是后续修改条件可以直接在数组里面修改...原创 2020-10-14 17:24:25 · 6566 阅读 · 0 评论 -
Apache下的Laravel路由无效,只有根目录能访问
在public下新建一个文件 【.htaccess】内容为<IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews -Indexes </IfModule> RewriteEngine On # Handle Authorization Header RewriteCond %{HTTP:Authorization..原创 2020-10-07 09:44:12 · 1181 阅读 · 5 评论 -
composer提示Allowed memory size of bytes exhausted
允许的字节内存大小已用尽Allowed memory size of bytes exhausted一般这种情况是php.ini的内存设置太小了输入命令查看可以消耗的最大内存量(默认都是128M)php -r "echo ini_get('memory_limit').PHP_EOL;"可以通过修改php.ini中的memory_limit值来改变大小我php的配置路径为/usr/local/php/etc (仅供参考,具体大家自己find)memory_limit = -1然原创 2020-09-27 11:02:16 · 2054 阅读 · 0 评论 -
php中压缩图片
Imgcompress 图片压缩类<?phpnamespace App\Libs;/** * 图片压缩类 * 通过缩放来压缩。如果要保持源图比例,把参数$percent保持为1即可。 * 即使原比例压缩,也可大幅度缩小 * 缩小比例越小,则图片Size会更小。 */class Imgcompress{ private $src; // 图片本地地址 private $image; private $imageinfo; .原创 2020-09-14 10:24:47 · 180 阅读 · 0 评论 -
PHP微信支付订单通用查询方法
适用于回调失败的情况或者没有回调的业务情况请求接口 :https://api.mch.weixin.qq.com/pay/orderquery封装方法 /** * 检查订单是否完成 * addtime 2020年9月9日 16:58:36 * @param [type] $out_trade_no * @return void */ public function orderquery($out_trade_no) { .原创 2020-09-09 19:28:40 · 1789 阅读 · 0 评论 -
php简单弹窗
这里采用layer弹层组件layer弹层组件/** * 弹窗 * addtime 2020年9月4日 09:55:03 * author Turbo * @param string $msg 提示消息 * @param string $url 跳转链接 * @return void */function show_msg($msg="", $url=""){ @header("Content-Type:text/html;charset=utf-8");原创 2020-09-04 09:58:44 · 1483 阅读 · 0 评论 -
php接收参数引号带斜杆
最近在升级公司的老官网,环境是window server 2003 ,php版本5.2的,之前的页面都是同事用得静态页面直接进行跳转,现在需要动态内容,自然就要安装后端框架了,然后一传参就发现了问题,前端的参数带引号的传到后端就自动拼接了斜杠 “/” ,也没见过这阵势啊,然后查了一圈资料发现有个函数在作怪magic_quotes_gpcmagic_quotes_gpc函数在php中的作用是判断解析用户提示的数据,如包括有:post、get、cookie过来的数据增加转义字符“\”,以确保这些数据不会原创 2020-09-03 11:16:07 · 563 阅读 · 0 评论 -
微信小程序通用静默获取openid和Session_key
小程序公共app.js 代码//app.jsconst server = require('./server/server.js');App({ onLaunch: function () { // 展示本地存储能力 var logs = wx.getStorageSync('logs') || [] logs.unshift(Date.now()) wx.setStorageSync('logs', logs) // 登录 wx.checkS.原创 2020-08-29 22:05:43 · 1744 阅读 · 0 评论 -
php远程下载文件并保存到服务器
适合用于小程序下载文件核心方法 /** * 下载文件到服务器 * addtime 2020年8月28日 18:38:43 */ function getFile($url, $save_dir = '', $filename = '', $type = 0) { if (trim($url) == '') { return false; } if (trim($save_dir) == '') { $save_dir = './'; } if (0 !原创 2020-08-29 21:58:17 · 3833 阅读 · 0 评论 -
Laravel中使用JWT进行接口验证
有时候项目是前后端分离的时候,需要进行接口校验,这里JWT是一个很好的工具,方便快捷。思路:用户登录拿到token,之后需要登录的请求拿着token,并使用中间件解密,我这里在中间件同时进行了无痛刷新token,前端比对token值后进行替换存储下来,这样的好处就是不需要前端进行手动刷新token,方便业务流程。安装JWT扩展包 https://github.com/lcobucci/jwtcomposer require lcobucci/jwt安装完成后 创建新的工具类 JwtAut原创 2020-08-26 18:56:50 · 1877 阅读 · 11 评论 -
php处理数量超过千和万的显示
/** * 数量美化函数 * addtime 2020年8月18日 17:25:39 * @param [type] $number * @return void */ public function format_num($number) { if ($number >= 10000) { # 判断是否超过w $newNum = $number/10000 .'w.原创 2020-08-18 18:06:54 · 580 阅读 · 0 评论 -
php替换字符串中间为星号
这里涉及三个字符串处理函数substr_replace把字符串的一部分替换为另一个字符串substr_replace(string,replacement,start,length)// string 必需。规定要检查的字符串。// replacement 必需。规定要插入的字符串。// start 必需。规定在字符串的何处开始替换。 // 正数 - 在字符串中的指定位置开始替换 // 负数 - 在从字符串结尾的指定位置开始替换 // 0 - 在字符串中的第一个字符处开始替换.原创 2020-08-18 15:26:53 · 1388 阅读 · 0 评论 -
php中的__construct()构造函数
__construct()是php内置的构造函数注意事项:若父类和子类 都有 __construct,则只调用子类的__construct,不会自动调用父类的__construct子类的__construct方法如果要调用父类的__construct方法,必须在子类构造函数中调用父类的构造函数parent::__construct();...原创 2020-08-07 17:36:03 · 1478 阅读 · 0 评论