
php
文章平均质量分 61
C赏心悦目
这个作者很懒,什么都没留下…
展开
-
(thinkphp)Error while sending STMT_PREPARE packet. PID=某些数字
这个错误有时候执行程序就会突然出现,比较不稳定。。。想调试也无从下手。我这边是通过频繁刷新大概7-20次,就会出现这个错误了,然后去ThinkPHP官网论坛找了相关资料整理出方法:thinkphp5.0.x版本有这问题,thinkphp5.0.24版本已经修复1、修改数据库设置文件 database.php或者config.php添加//是否需要断线重连'break_reconnect' => true,修改第一步之后,我频繁刷新都不会出现那个错误了。但网上资料说要把以下两步也改转载 2022-05-19 11:43:39 · 666 阅读 · 0 评论 -
PHP array_slice():截取数组的一部分
PHParray_slice() 函数用来截取数组,也就是从数组中提取出一个片段,语法如下:array array_slice ( array $arr , int $start [, int $length = NULL [, bool $preserve_keys = false ]] )参数说明:arr 表示要截取的数组。 start 表示开始截取的位置(下标): 如果 start 为正数,则从前往后截取。 如果 start 为负数,则从距离 arr 末端 -start 的位置开.转载 2022-05-16 15:40:55 · 1061 阅读 · 0 评论 -
phpexcel列数太多,【PHPEXECL】关于使用phpExecl导出数据时,列数超过26个报错问题
今天遇到一个关于导出excel表的问题,原因是因为导出的数据列数超过26列,为什么超过26列就会报错呢,因为execl表的抬头标示是从A-Z的,所以超过26位之后,会用[/^等等标识符进行标示.其实这些标识符是有规则的,这些是根据ASCII码进行编排的.下面我们来看看完善的代码protectedfunction getExcel($fileName,$headArr,$data,$keys){//导入PHPExcel类库,因为PHPExcel没有用命名空间,只能inport导入impor.转载 2022-05-04 18:36:20 · 822 阅读 · 0 评论 -
校验身份证号码格式是否正确
<?php/** * 校验身份证号码格式是否正确 * @param string $idcard * @return bool */function checkIdcard($idcard){ $idcard = strtoupper($idcard); if (!preg_match('#^\d{17}(\d|X)$#', $idcard)) { return false; } // 判断出生年月日的合法性(解决号码为666666666.转载 2022-04-19 18:07:49 · 316 阅读 · 0 评论 -
TP6一键删除runtime缓存文件
在系统公共函数文件里面新建一个方法:如下/** * del_dir() * 循环删除目录和文件 * @param string $dir_name * @return bool */function del_dir($dir) { $dh=opendir($dir); while ($file=readdir($dh)) { if($file!="." && $file!="..") { $fullpath=$dir.转载 2022-04-12 11:43:21 · 1493 阅读 · 0 评论 -
PHP sprintf() 函数
实例把百分号(%)符号替换成一个作为参数进行传递的变量:<?php $number = 9; $str = "RUNOOB"; $txt = sprintf("%s 每天有 %u 万人在访问!", $str, $number); echo $txt; ?>执行输出结果如下:RUNOOB 每天有 9 万人在访问!定义和用法sprintf() 函数把格式化的字符串写入一个变量中。arg1、arg2、++ 参数将被插入到主字符串中的百分号(%)符号处。该函数是逐步执行的。在转载 2021-12-09 17:04:43 · 312 阅读 · 0 评论 -
浅谈PHP面向对象编程(七、抽象类与接口)
7.0 抽象类与接口当定义一个类时,常常需要定义一些方法来描述该类的行为特征、但有时这些方法的实现方式是无法确定的,此时就可以使用抽象类和接口。抽象类和接口用于提高程序的灵活性、抽象类是一种特殊的类,而接口又是一种待殊的抽象类。接下来本节将针对抽象类和接口进行详细讲解。7.1 抽象类当在定义一个类的 时候,其中所霜的某些方法暂时并不能完全定义出来,而是让其继承的类来实现,此时就可以用到抽象类。比如定又一个动物类,每种动物有一“叫” 的方法,面每种动物叫的方式不同,因此可以..转载 2021-06-17 15:57:42 · 282 阅读 · 0 评论 -
PHPExcel对于Excel中日期和时间类型的处理
PHPExcel是一款优秀的处理Excel文件读写的开源PHP Library,能够给我们提供强大的Excel读写能力,本文针对Excel处理过程中关于日期和时间类型的处理进行深入的讨论。PHPExcel最新的版本是2014年3月2日发布的1.8.0版本,后来项目迁移到了GitHub,后续的版本已经更名为PHPSpreadSheet。一、Excel中的日期和时间类型Excel中的日期存储的是数值类型,计算的是从1900年1月1日到现在的数值。例如2008-12-31实际上存储的是39813。可.转载 2021-02-01 21:00:34 · 687 阅读 · 0 评论 -
php验证一个日期的格式是否正确
思路可以用strtotime()把日期($date)转成时间戳,再用date()按需要验证的格式转成一个日期,来跟$date比较是否相同来验证这个日期的格式是否是正确的。$dateTime=”2010-6-4 00:00:00″;if(preg_match(“/^d{4}-d{2}-d{2} d{2}:d{2}:d{2}$/s”,$dateTime)){echo “Yes”;}else{echo “No”;}/** 方法 isDate* 功能 判断日期格式是否正转载 2020-12-07 12:06:39 · 1220 阅读 · 0 评论 -
线上临时记录日志
$file = 'log.txt'; $content = "public_log:" . $result2 . "\ndata_array:" . var_export($data_array, true) ."\n"; file_put_contents($file,$content,FILE_APPEND);注意var_export($data_array, true)的第二个参数true;参考:var_export()函数用于输出...原创 2020-12-02 14:19:41 · 226 阅读 · 1 评论 -
模拟抽奖记录
效果图:页面:<div id="goods_div"> @if(!empty($id)) @foreach($LuckyDrawDatas as $key => $item) <div class="layui-form-item"> <lable class="layui-form-label">请输入奖品</labl原创 2020-06-09 11:21:00 · 391 阅读 · 0 评论 -
redis实现高并发下的抢购/秒杀功能
之前写过一篇文章,高并发的解决思路(点此进入查看),今天再次抽空整理下实际场景中的具体代码逻辑实现吧:抢购/秒杀是如今很常见的一个应用场景,那么高并发竞争下如何解决超抢(或超卖库存不足为负数的问题)呢?常规写法:查询出对应商品的库存,看是否大于0,然后执行生成订单等操作,但是在判断库存是否大于0处,如果在高并发下就会有问题,导致库存量出现负数这里我就只谈redis的解决方案吧...我们先来看以下代码(这里我以laravel为例吧)是否能正确解决超抢/卖的问题:<?php转载 2020-06-09 11:26:19 · 550 阅读 · 1 评论 -
phpstudy 500 Internal Server Error 解决办法
版本:phpstudy 2018报错:500 Internal Server Error原因:手动选择路径的时候,产生了斜杠不同 (正确:"D:/phpStudy/PHPTutorial/WWW/thinkphp50/public") 错误(“D:\phpStudy\PHPTutorial\WWW\composer\tp51\public”)解决办法:找到nginx的配置文件,改正...转载 2020-04-14 23:15:55 · 2330 阅读 · 0 评论 -
php两个问号??表示什么意思,PHP两个问号运算符,双问号表达式
其实两个问题??是php7新推出的表达式,c = a ?? b;表示如果a非空,则c = a,如果a为空,则 c = b;php7以前经常使用到三元运算表达式,$name = issset($_POST[‘name’]) ? $_POST[‘name’] : ‘qinziheng’;现在使用双问号表达式就行了$name = $_POST[‘name’] ?? ‘q...转载 2019-11-14 14:34:45 · 7565 阅读 · 2 评论 -
php 某个日期加几天几小时几分钟
date_default_timezone_set('PRC'); //默认时区echo "今天:",date("Y-m-d",time()),"<br>";echo "今天:",date("Y-m-d",strtotime("18 june 2008")),"<br>";echo "昨天:",date("Y-m-d",strtotime("-1 day")),"&...转载 2019-11-12 17:55:54 · 2476 阅读 · 0 评论 -
git删除本地分支和删除远程分支
我现在在dev20181018分支上,想删除dev20181018分支 1 先切换到别的分支: git checkout dev20180927 2 删除本地分支: git branch -d dev20181018 3如果删除不了可以强制删除,git branch -D dev20181018 4 有必要的情况下,删除远程分支:git push origin --del...转载 2019-10-24 14:20:49 · 346 阅读 · 0 评论 -
开闭原则是指什么?
开闭原则开闭原则(OCP)是面向对象设计中“可复用设计”的基石,是面向对象设计中最重要的原则之一,其它很多的设计原则都是实现开闭原则的一种手段。1988年,勃兰特·梅耶(Bertrand Meyer)在他的著作《面向对象软件构造(Object Oriented Software Construction)》中提出了开闭原则,它的原文是这样:“Software entities sho...转载 2019-10-20 19:35:00 · 774 阅读 · 0 评论 -
php超时3种设置方案
打开php.ini文件,找到 max_execution_time,将后面的数字改成你想要的时间,单位是秒。 这种方式修改后需要重启服务,一般不建议采用这种方法。 使用PHP的ini_set()函数设置,设置方法: ini_set("max_execution_time",1800); 设置语句必须是php文件的第一行。 使用PHP的set_time_limit()函...转载 2018-07-27 08:33:58 · 5822 阅读 · 0 评论 -
PHPExcel 导出用到的基本方法
//设置行高$objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(30);/*单元格宽度*/$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20);/*设置表格对其方式,setVe......转载 2018-07-25 10:07:41 · 760 阅读 · 1 评论 -
array_multisort() 函数对多个数组或多维数组进行排序。
$date = array_column($info['rows'], 'gw');//多维数组按照纵向(列)取出array_multisort($date,SORT_ASC,$info['rows']);//例子:合并两个数组,并按数字降序排列:$a1=array(1,30,15,7,25);$a2=array(4,30,20,41,66);$num=array_merge($a...原创 2018-07-24 13:48:32 · 526 阅读 · 0 评论 -
php 二维数组去重
//二维数组去重$info = $this->remove_duplicate($info); /* * 二维数组去重 */ public function remove_duplicate($array){ $result=array(); foreach ($array as $key => $value) { ...原创 2018-07-24 11:59:00 · 175 阅读 · 0 评论 -
PHP将二位数组按照第二维的某个元素的值进行排序
//原始数组是这样的,希望能够按照第二维中的run_date升序或者降序进行排序:$arr=array( 0=>array( 'run_date'=>'2017-11-21', 'count'=>'5' ), ...转载 2018-07-17 11:05:15 · 419 阅读 · 0 评论 -
PHP 二维数组根据某个字段排序
本文记录的要实现的功能类似于 MySQL 中的 ORDER BY,上个项目中有遇到这样的一个需求。要求:从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组,再根据数据的创建时间降序排序取前4条。遇到这个要求的时候就不是 ORDER BY 能解决的问题了。因此翻看 PHP 手册查找到了如下方法,做此笔记。废话少说,奉上代码,清单如下:<?php...转载 2018-07-17 10:53:57 · 653 阅读 · 0 评论 -
php获取当月天数及当月第一天及最后一天、上月第一天及最后一天实现方法
1.获取上个月第一天及最后一天. echo date('Y-m-01', strtotime('-1 month')); echo "<br/>"; echo date('Y-m-t', strtotime('-1 month')); echo "<br/>"; 上面的方法有些问题,根据bg5hfc回复做下修改 上个月第一天: echo...转载 2018-07-12 19:49:59 · 1907 阅读 · 0 评论 -
ThinkPHP3.2.3扩展之生成PDF文件(MPDF)
先安照路径放好如图。下面是使用方法public function pdf(){ //引入类库 Vendor('mpdf.mpdf'); //设置中文编码 $mpdf=new \mPDF('zh-cn','A4', 0, '宋体', 0, 0); //html内容 $html='<h1><a name="top">...转载 2018-08-01 11:35:14 · 623 阅读 · 0 评论 -
解决provisional headers are shown的过程
回答内容是说请求没有被发送,因为是载入缓存资源. 大概是说 完全相同的请求间隔数毫秒(太短),导致加载失败,查看了chrome控制台发现 Provisional headers are shown出现在 载入缓存资源,请求没有被发送, 而如果上一个资源加载失败,可能导致从缓存加载的资源失败,即缓存资源请求之前的请求不能失败,不然就有可能出现问题 原文链接:https:/...转载 2018-08-06 08:59:27 · 8148 阅读 · 0 评论 -
mysql 同时插入多条数据怎么获取这些id
1.已以往经验,有批量插入时,最好新增一个“批号”的字段,可以用时间戳,也可以用其他方式,然后查询新增批号。2.建议自己封装下,插入成功返回的时候,$this->db->getLastInsID()获取最后插入的ID,根据插入条数倒推其他的ID 原文链接:https://segmentfault.com/q/1010000008434925...转载 2018-08-31 21:31:38 · 4341 阅读 · 0 评论 -
PHP设置脚本最大执行时间的三种方法
PHP设置脚本最大执行时间的三种方法php.ini 中缺省的最长执行时间是 30 秒,这是由 php.ini 中的 max_execution_time 变量指定,如果脚本需要跑很长时间,例如要大量发送电子邮件,或者分析统计大量数据,服务器会在 30 秒后强行中止正在执行的程序,这种情况就要更改php脚本最大执行时间。PHP设置脚本最大执行时间的三种方法1、在php.ini里面设置...转载 2018-09-11 08:40:38 · 408 阅读 · 0 评论 -
使用PHPExcel实现数据批量导出为excel表格的方法(必看)
/** * 批量导出数据 * @param $arr 从数据库查询出来,即要导出的数据 * $name excel表歌名 */ function expExcel($arr,$name){ //require_once 'PHPExcel.php'; Vendor('PHPExcel.PHPExcel'); ...转载 2018-10-10 10:35:06 · 1827 阅读 · 0 评论 -
php 转换字符串编码 iconv与mb_convert_encoding的区别说明
iconv — Convert string to requested character encoding(PHP 4 >= 4.0.5, PHP 5) mb_convert_encoding — Convert character encoding(PHP 4 >= 4.0.6, PHP 5) 用法: string mb_convert_encoding ( string s...转载 2018-10-10 11:24:06 · 440 阅读 · 0 评论 -
php中序列化与反序列化
把复杂的数据类型压缩到一个字符串中serialize() 把变量和它们的值编码成文本形式unserialize() 恢复原先变量eg:$stooges = array('Moe','Larry','Curly');$new = serialize($stooges);print_r($new);echo "<br />";print_r(unserialize(...转载 2018-10-29 14:12:59 · 149 阅读 · 0 评论 -
TP5学习基础一:增删改查小demo
①TP5--增删改查简单的demo我先吐槽一下:因为工作需要研究tp5,去官网看了一下哎呦,资源挺多挺全啊!然后下载唯一免费的官方教程,我曹pdf打开533页。讲的很细但是开发能等看完才做吗?看到精简版快速入门的还软妹币20试读3章。寻思找个demo案例吧,要不加群拿源码,要不视频教程收费。特喵的框架是开源的但是教程是收费的。寻思去论坛看看问题,不是我喷好多技术小白的问题,我想看看怎么获取传参...转载 2018-10-29 22:29:50 · 168 阅读 · 0 评论 -
PHP取整,四舍五入取整、向上取整、向下取整、小数截取
PHP取整数函数常用的四种方法:1.直接取整,舍弃小数,保留整数:intval(); 2.四舍五入取整:round(); 3.向上取整,有小数就加1:ceil(); 4.向下取整:floor()。一、intval—对变数转成整数型态 intval如果是字符型的会自动转换为0。intval(3.14159); // 3intval(3.64159); // 3intval...转载 2018-11-09 11:38:16 · 1558 阅读 · 0 评论 -
php二维数组重新排序
Array ( Array ('id' => 3, 'username' => 'alex ','parentname'=> 'john' ,'proname' => 'tttt' 'num'=> 1 , 'userid' =>6 ,'parentid'=>8 , 'cpid'=> 0 ,'mobile'=> 155...转载 2018-11-02 16:08:27 · 3870 阅读 · 0 评论 -
PHP处理数组常用函数和使用案例(PHP Array)
PHP Array简介,数组函数允许您访问和操作数组。支持单维和多维数组。安装 数组函数属于 PHP 核心部分。无需安装即可使用这些函数。array_search — 在数组中搜索给定的值,如果成功则返回相应的键名<?php $array = array( 0 => 'blue' , 1 => 'red' , 2 => 'green' , ...转载 2018-11-07 22:49:54 · 1262 阅读 · 0 评论 -
PHP命令空间namespace及use的用法实践总结
命名空间使用PHP 命名空间中的类名可以通过三种方式引用: 非限定名称,或不包含前缀的类名称,例如 $a=new foo(); 或 foo::staticmethod();。如果当前命名空间是 currentnamespace,foo 将被解析为 currentnamespace\foo。如果使用 foo 的代码是全局的,不包含在任何命名空间中的代码,则 foo 会被解析为foo。 警告...转载 2018-11-26 19:45:58 · 206 阅读 · 0 评论 -
PHP中空字符串介绍0、null、empty和false之间的关系
0是数字,是empty,是false,不是null,值相当于空字符串,但类型不是字符串,去空格或强制转换为字符串型时不等于空字符串""的值相当于0,是empty,是空字符串,是false,不是null,不是数字字符串null的值相当于空字符串,值相当于0,是empty,是false,不是字符串,不是数字0 "=="只要值相等就满足条件; "==="需要两个变量的值和类型都相等;...转载 2018-12-13 09:12:09 · 390 阅读 · 0 评论 -
库区排序记录
//获取区域$data = array( array('id'=>'4239','area'=>'ZN-1-5-1-1A'), array('id'=>'4242','area'=>'ZN-1-5-1-4'), array('id'=>'4240','area'=>'ZN-1-5-1-2E'), array('id'=>...原创 2018-12-29 11:43:27 · 128 阅读 · 0 评论 -
PHP中一些可以替代正则表达式函数的字符串操作函数
/* * 在处理大量信息时,正则表达式函数会使速度大幅减慢。应当在需要使用正则表达式解析比较复杂的字符串时才能使用这些函数。如果要解析简单的表达式,还可以采用很多可以显著加快处理过程的预定义函数。 *//* * 根据预定义的字符对字符串进行词法分析 * strtok()函数根据预定义的字符列表来解析字符串。其形式为: * string strtok(string str,string...转载 2018-12-29 16:35:29 · 228 阅读 · 0 评论 -
redis慢查询日志,php安装redis扩展,redis存储session,redis主从配置
笔记内容:redis慢查询日志,php安装redis扩展,redis存储session,redis主从配置笔记日期:2018-1-0321.18 redis慢查询日志 21.19 php安装redis扩展 21.20 redis存储session 21.21 redis主从配置redis慢查询日志和mysql一样redis也有慢查询日志,redis的慢查询日志默认是开启的。针对慢...转载 2019-01-03 23:01:35 · 231 阅读 · 0 评论