php笔记
xiaoyun888_
这个作者很懒,什么都没留下…
展开
-
php 用到的数组函数
1.array_flip() :数组键和值反转 -----2022/02/17原创 2022-02-17 13:45:43 · 124 阅读 · 0 评论 -
2021年10月找工作总结面试题
1.rabbitmq消息队列消息队列是应用之间的通讯方式,是应用间的异步协作机制,发送者和接受者互不干扰,一方有问题,不会影响另一方运行,达到解耦的目的。生产者只管把消息发布到 MQ 中而不用管谁来取,消费者只管从 MQ 中取消息而不管是谁发布的。这样发布者和使用者都不用知道对方的存在。特点:可靠性:持久化,传输确认,发布确认;灵活的路由:在消息进入队列之前,通过 Exchange 来路由消息的;多语言客户端:几乎支持所有的语言;管理界面:提供简易的用户界面;2.微信支付流程:原创 2021-10-10 18:02:33 · 102 阅读 · 0 评论 -
php二维数组根据某一字段排序
$sort = array( 'direction' => 'SORT_ASC', //排序顺序标志 SORT_DESC 降序;SORT_ASC 升序 'field' => 'bs_no', //排序字段 ); $arrSort = array(); foreach($last_arr AS $uniqid => $row) { foreach ($row AS $..原创 2021-09-25 11:28:48 · 75 阅读 · 0 评论 -
thinkphp6.0课堂笔记
原创 2021-09-07 16:12:51 · 103 阅读 · 0 评论 -
php 504 Gateway timeout
1.接口中加上:set_time_limit(0);2.设置nginx配置,nginx.confhttp { ....... fastcgi_connect_timeout 75; # 链接 fastcgi_read_timeout 300; # 读取 fastcgi_send_timeout 300; #发请求.......}原创 2021-08-16 10:31:58 · 130 阅读 · 0 评论 -
layui 自定义验证规则
<div class="layui-form-item"> <label class="layui-form-label">奖励金额基数</label> <div class="layui-input-block"> <input type="text" class="layui-input" lay-verify="required|number|reward_amount" lay-verType="tips".原创 2021-08-03 09:26:40 · 311 阅读 · 0 评论 -
thinkphp5.0 时间查询
时间比较使用where方法where方法支持时间比较,例如:// 大于某个时间where("create_time","> time","2016-1-1");// 小于某个时间where("create_time","<= time","2016-1-1");// 时间区间查询where("create_time","between time",["2015-1-1","2016-1-1"]);第三个参数可以传入任何有效的时间表达式,会自动识别你的时间字段类原创 2021-07-06 08:45:52 · 591 阅读 · 0 评论 -
fastadmin php jwt(token)登录
1.公共base接口<?phpnamespace app\api\controller;use app\api\controller\Code;use app\common\library\Auth;use app\common\controller\Api;use app\common\model\Account;use think\Db;/** * 登录注册接口 */class Base extends Api{ protected $noNeedL.原创 2021-05-14 13:45:10 · 1683 阅读 · 0 评论 -
nginx设置伪静态
location / { index index.html index.htm index.php; #autoindex on; if (!-e $request_filename) { rewrite ^/(.*)$ /index.php/$1; } }原创 2021-04-28 15:22:51 · 206 阅读 · 0 评论 -
RAS验签
<?php// +----------------------------------------------------------------------// | Author: savy.liao// | RSA验证签名算法// +----------------------------------------------------------------------namespace PiaoTongApi\Model;use PhpParser\Node\Expr\Array.原创 2021-04-20 13:45:29 · 260 阅读 · 0 评论 -
php面试题之ajax
AJAX的工作原理Ajax的工作原理相当于在用户和服务器之间加了—个中间层(AJAX引擎),使用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器,像—些数据验证和数据处理等都交给 Ajax引擎自己来做, 只有确定需要从服务器读取新数据时再由Ajax引擎代为向服务器提交请求。Ajax其核心有 JavaScript、XMLHTTPRequest、DOM对象组成,通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据, 然后用JavaScript来操作DOM而更新页面。这其中最原创 2021-04-13 09:54:45 · 108 阅读 · 0 评论 -
php面试题之网络协议考察点
http协议状态码:五类响应1XX:信息类状态码,接收请求正在处理2XX:成功状态码,请求正常处理完毕3XX:重定向,需要进行附加操作以完成请求4XX:客户端错误,服务器无法处理请求5XX服务器处理请求出错常见状态码含义:200:正常204:服务器成功处理了请求,但无内容返回;301:永久移动,比如 baidu.com跳转到 www.baidu.com302:临时移动;304:内容未修改,客户端可以继续使用本地缓存;400:请求数据不正确,服务器不理解请求的语原创 2021-04-12 17:29:07 · 190 阅读 · 0 评论 -
php面试之文件及目录处理相关考点
1.fopen函数:打开文件,打开时需要指定打开模式打开模式:r :只读方式打开r+ :读写方式打开,在内容前边写入,并且会覆盖之前内容$path = './test.txt';function test_file($path){ $res = fopen($path,'r+');//读写方式打开 fwrite($res,'嘿嘿哈哈');//文件开头写入 fclose($res);//关闭文件,此处需要重新关闭再打开读取最新数据 $info = fopen原创 2021-04-12 16:40:04 · 100 阅读 · 0 评论 -
php面试之考察作用域和静态变量以及函数引用返回
/** * 考察作用域和静态变量 */$count=5;//全局变量function getRes(){ static $count; //定义了局部变量,这是$count的值是NULL,NULL++是1,true++还是true return ++$count;//这里是1,因为++在前边是先加再返回,如果是$count++就是先返回再加,返回NULL}echo $count;//5,全局变量++$count;//加一echo $count;//6var_dump(.原创 2021-03-19 10:39:31 · 74 阅读 · 0 评论 -
php面试题之if..elseif效率问题
php如何优化多个if...elseif语句的情况?1.把可能性最大的放到前面2.如果判断的内容比较复杂且条件为整型、浮点型、字符串类型可以用switch...case代替原创 2021-03-18 11:51:20 · 231 阅读 · 0 评论 -
php面试准备之运算符考察点
运算符优先级:递增/递减>!>算数运算符>大小比较>(不)相等比较>引用>位运算符(^)>位运算符(|)>逻辑与>逻辑或>三目>赋值 public function Cdata() { $a = 2; $b = 0; if($a = 3 > 0 || $b = 3 > 0 ){ $a++; $b++; ..原创 2021-03-18 11:27:20 · 71 阅读 · 0 评论 -
php api验证签名
大概逻辑就是:客服端发来post数据,在发送的时候给数据加一个sign字段,字段内容是客户端和服务端通过appid和serect进行加密的字符串,客户端和服务端的appid和serect是一样的。服务端收到数据后,把数据按照客户端一样的方式生成sign,再进行比较,相等则说明通过,验签主要是为了验证是否是指定用户发来的请求。避免安全隐患<?phpnamespace ThreeTrafficNanchang\Controller;use ThreeTrafficNanchang\Mode.原创 2021-03-17 17:49:33 · 260 阅读 · 0 评论 -
php面试准备之常量及数据类型考察点
1.php字符串定义方式和各自区别(1)单引号 :不能解析变量,转义字符,只能解析单引号和反斜杠本身('\\'),单引号效率更高(2)双引号:能解析变量,(3)heredoc和newdoc原创 2021-03-11 15:05:14 · 99 阅读 · 0 评论 -
php面试准备之引用传值
1.引用(&)的概念:不同的名字访问同一变量内容。2.传值的一个小误区。$a=1;$b=$a;//这一步是不是认为$b开辟一个新的内存空间,其实现在$a跟$b指向同一内存空间$a=2;//对$a进行修改,这时$a改变了,$a才重新开辟了一个内存空间,这叫COW机制(COW Copy On Write)3.unset()$a=1; //定义$a$b=&$a; //$a和$b指向同一内存空间unset($b); //只会销毁引用,不会销毁原创 2021-03-11 10:40:03 · 223 阅读 · 0 评论 -
rsa和aes加密算法
终于明白这加密流程了 rsa秘钥:非对称加密算法,有公钥和私钥,私钥解密数据,公钥加密数据,公钥可以通过网络传输。特点:速度慢,适合偶尔传输aes加密算法:对称加密,加密和解密都用同一秘钥,这个秘钥不能网络传输,但是加解密速度快。如果需要网络传输秘钥,可以使用rsa加密aes秘钥,然后进行网络传输...原创 2021-03-09 17:57:41 · 428 阅读 · 0 评论 -
不懂的知识记录
1.同步和异步: 同步:假设你去了一家饭店,找个位置,叫来服务员,这个时候服务员对你说,对不起我是“同步”服务员,我要服务完这张桌子才能招呼你。那桌客人明明已经吃上了,你只是想要个菜单,这么小的动作,服务员却要你等到别人的一个大动作完成之后,才能再来招呼你,这个便是同步的问题:也就是“顺序交付的工作1234,必须按照1234的顺序完成”。 异步:则是将耗时很长的A交付的工作交给系统之后,就去继续做B交付的工作,。等到系统完成了前面的工作之后,再通过回调或者事件,继续做A剩下的工作。 AB工原创 2021-03-04 14:55:47 · 148 阅读 · 2 评论 -
php qq邮箱群发
1.进入发送者的邮箱---》设置---》账户----》开启SMTP服务2.引入PHPMailer,PHPMailer方法库下载地址:http://www.php.cn/xiazai/learn/5623.代码<?php/*发送邮件方法*@param $to:接收者 $title:标题 $content:邮件内容*@return bool true:发送成功 false:发送失败*/function sendMail($to,$title,$content) {// .原创 2021-02-25 15:44:34 · 195 阅读 · 0 评论 -
layui的模态框打开一个新的页面layer.open
<script type="text/javascript" src="__PUBLIC__/js/layer.js"></script>layer.open({type:2,title:'模态框',shadeClose:false,shade:0.8,area:['900px','90%'],content:"mapbox1.html?id="+id});...原创 2021-01-19 11:46:22 · 2212 阅读 · 0 评论 -
实际项目sql优化技巧,代码优化技巧记录
一、sql:1.能不用联查尽量不用联查2.field,查找指定的字段能提高速度3.加索引二、如果需要在循环里加查询sql时,用session缓存,设置缓存时间原创 2021-01-14 11:55:32 · 89 阅读 · 0 评论 -
php ajax+phpexecl+execl文件导入数据库
需求:导入execl到数据库,如果数据存在就修改,不存在就添加主要技术点在于尽量不要在循环中操作数据库,先查出数据库中该数据是非否在,如果存在就修改,不存在就添加(设计到批量修改,速度很慢);这里使用删除操作,也就是把数据库存在的数据统一删除,然后再直接把表格数据全部添加进去,但是这样的话id会变,所以只适合id字段没有外键使用的情况1.控制器代码//1.文件上传function upload(){ if(IS_POST){ $file = $_FI原创 2020-12-21 11:23:32 · 476 阅读 · 0 评论 -
php面试准备之冒泡和快速排序以及文件目录读取
1.冒泡排序$arr=array(2,1,5,3,4);for ($i=0;$i<count($arr)-1;$i++){ for ($j=$i+1;$j<count($arr);$j++){ if($arr[$j]<$arr[$i]){ $temp=$arr[$i]; $arr[$i]=$arr[$j]; $arr[$j]=$temp; } }}var_du原创 2020-12-15 14:54:37 · 112 阅读 · 0 评论 -
读取数据存入缓存,减少读取数据库次数
public static function getAreaInfoByCityId($city_id){ $REDIS_KEY = "getAreaInfoByCityId:$city_id"; //读缓存 $area_info = S($REDIS_KEY); if( ! $area_info ) { //读数据库 $area_info = M('area_city')->where(['area_id' => $city_id])->find().原创 2020-12-10 10:10:10 · 214 阅读 · 0 评论 -
php ajax导出功能
废话不多说,上代码<?phpnamespace app\admin\controller;use think\Controller;use think\Request;use think\Db;class Tools{// // 保存全局实例// private $instance=null;// // 自定义配置参数 protected $setting=[];// // 导出参数 protected $exportsSetting=[]; public fu原创 2020-11-10 10:47:17 · 431 阅读 · 0 评论