![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
php
文章平均质量分 76
liuqun0319
个人微信 liuqun0319 欢迎交流
道阻且长,行则将至
有容乃大,无欲则刚,容是别人,欲是自己
展开
-
签名校验 go & php
一.签名传参(统一在header头里面进行传递)参数名称参数说明sign签名值ak调用方标识,服务端根据此标识匹配SK秘钥timestamp签名时间戳,服务端需要进行过期检测二.签名步骤1.GET请求将URL请求中的传参构造成url方式得到urlstring如:a=1&b=2&c=3根据请求来源确定加密秘钥SK(秘钥可以是设备ID+动态token根据业务进行确定)拼接加密串 urlstring+timestamp(请求参数+请求时间)如:原创 2021-09-03 15:21:17 · 422 阅读 · 0 评论 -
php求一个字符串中不重复的最长子串
今天被滴滴面试官面试,又一个算法问题…问题就是找到字符串里不包括重复字符的最长子字符串。<?php$string = "abcdaefaedkqatlmtx";function test($string) { $len = strlen($string); $arr = []; for ($i=1;$i<$len;$i++){ for ($j=1;$j<$len;$j++){ //从第0个开始一次截取最大长度,然后原创 2020-07-28 21:10:27 · 585 阅读 · 3 评论 -
php for一层循环 解决两个有序数组组成一个有序数组
php for一层循环 解决两个有序数组组成一个有序数组public function reNum() { $arr1 = [1,5,7]; $arr2 = [3,4]; $data = []; $a = 0; for($i=0;$i<count($arr1)||$a<=count($arr2);){ $num1 = $arr1[$i]; $num2 = $arr2[$a]; if($num1>=$num2){ $data[]= $arr1[$i]; $原创 2020-07-21 17:45:58 · 290 阅读 · 0 评论 -
中文未来面试题
【小黄题库】网络编程请说出TCP/IP四层模型?现代浏览器中如何让HTTP协议支持长链接?有什么优缺点?有几种网络安全问题?请分别介绍poll、epoll的区别、设计原理和优劣势编程语言请谈谈对编程语言的理解请简单解释 静态/动态编译 和 强/弱类型语言代表的意思操作系统请解释线程和进程的区别?是否还有其他方式支持并发编程?进程之前通讯的方式有哪些?协程相对于线程的优势?非阻塞IO如何实现?程序设计对谈谈对设计模式的理解请设计一个支持10条产品线以上的通用短信原创 2020-07-19 16:04:05 · 218 阅读 · 0 评论 -
HHVM jit过程
1.Zend VM——解释型虚拟机编译过程:php——>词法、语法解析——>优化——>zend opcode执行过程:解析opcode——>c——>机器码2.hhvm——二进制翻译型虚拟机编译过程:php——>词法、语法解析——>优化——>opcodejit执行:opcode——>翻译为机器码——>jit cache3.总结:编译过程到生成中间码的阶段2种引擎(zend vm、hhvm)性能差距并不大HHVM在JIT模式下原创 2020-07-14 17:16:50 · 256 阅读 · 0 评论 -
PHP排序算法----希尔排序
php 希尔排序 转载自https://blog.csdn.net/baidu_30000217/article/details/53084546基本思想:希尔排序是指记录按下标的一定增量分组,对每一组使用 直接插入排序 ,随着增量逐渐减少,每组包含的关键字越来越多,当增量减少至 1 时,整个序列恰好被分成一组,算法便终止。操作步骤:先取一个小于 n(序列记录个数) 的整数 d1 作为第一个增量,把文件的全部记录分组。所有距离为 d1 的倍数的记录放在同一个组中。先在各组内进行 直接插入排序;然后原创 2020-07-13 20:03:46 · 298 阅读 · 0 评论 -
五种常见的 PHP 设计模式
设计模式对于每个人都非常有用观察者模式观察者模式为您提供了避免组件之间紧密耦合的另一种方法。该模式非常简单:一个对象通过添加一个方法(该方法允许另一个对象,即 观察者 注册自己)使本身变得可观察。当可观察的对象更改时,它会将消息发送到已注册的观察者。这些观察者使用该信息执行的操作与可观察的对象无关。结果是对象可以相互对话,而不必了解原因。一个简单示例是系统中的用户列表。清单 4 中的代码显示一个用户列表,添加用户时,它将发送出一条消息。添加用户时,通过发送消息的日志观察者可以观察此列表。清单 4.原创 2020-07-13 17:42:41 · 232 阅读 · 0 评论 -
qrcode 生成二维码的代码
<?php/** * 关于员工的信息处理 * @author anyuan */namespace app\recruitcard\service;use app\common\base\service\BaseService;use app\library\ErrorCode;use app\model\ShopStaffInfo;use doushen\frame\ResponseBath;use phpDocumentor\Reflection\Types\Integ原创 2020-06-19 10:28:59 · 17192 阅读 · 0 评论 -
php foreach & 地址引用 的时候碰到的坑
转载自https://blog.csdn.net/lambert310/article/details/77938088这个地方最好找个数组自己试验下 最后一个//简称1 foreach($data as $key=>&$valeu){}//当再次foreach $data数组时候 简称 2foreach($data as $key=>$value){}...原创 2020-03-07 16:38:19 · 301 阅读 · 0 评论 -
resuful API PHP接口规范
可以参考一下连接 学习RESTFUL API 的规范https://www.imooc.com/article/17587原创 2019-03-01 10:22:55 · 726 阅读 · 0 评论 -
php aes
对称加密是相对于非对称加密存在的。对称加密,是通过密钥加密后,可以再通过之前加密的密钥进行解密,得到加密之前的信息。非对称加密,是有公钥和私钥,如果使用公钥加密,那么需要用私钥解密,得到加密之前的信息;同样,如果使用私钥加密,那么需要用公钥解密,得到加密之前的信息。由于php7已经废弃了mcrypt的内置函数,所以,本篇采用openssl的加密函数。代码如下:/** * Class Op...转载 2019-01-30 09:16:23 · 301 阅读 · 0 评论 -
php rsa 加密
今天我来说下如何使用RSA方式进行加密解密一、生成公钥和私钥;使用OpenSSL就可以,一般Linux和mac有自带的;windows的可自行安装;通过如下命令生成;注:RSA非对称加密内容长度有限制,1024位key的最多只能加密127位数据,如果加密字符串过长请使用2048momodeMBP:~ momo$ openssl genrsa -out rsa_private_key.p...转载 2019-01-30 00:14:12 · 1086 阅读 · 0 评论 -
laravel配置路由后,除了首页,其他页面404
解决这类问题 nginx配置需要在nginx/conf/nginx.conf中的server中 location / { root D:/mulu; index index.html index.htm index.php; try_files $uri $uri/ /index.php?$query_string; ...原创 2019-01-28 22:08:10 · 891 阅读 · 0 评论 -
安装Apache2.4报错AH00526: Syntax error on line 137 of D:/install/wamp/Apache/conf/extra/httpd-ahssl.conf
windows10安装apache2.4时,发生错误AH00526: Syntax error on line 137 of D:/install/wamp/Apache/conf/extra/httpd-ahssl.conf原创 2019-01-22 22:34:33 · 5506 阅读 · 0 评论 -
wnmp win10下安装nginx+mysql+php
最近在开发一个新的项目,环境用的是:Nginx1.10.3 &nbsp;下载地址:&nbsp;http://nginx.org/en/download.html&nbsp;&nbsp;下载windows版本包PHP 7.1.1 &nbsp;下载地址:http://windows.php.net/down...转载 2019-01-24 00:09:13 · 757 阅读 · 0 评论 -
小刘的项目经验
xmind脑图没事多画画/**脑图的好处1.指定周计划表2.列出一个项目的投入与产出3.组织项目及会议4.制作事项清单*/做一个项目要花程序流程图,有利于自己的抽象能力和递归能力...原创 2019-06-02 22:14:46 · 370 阅读 · 0 评论 -
php 签名验证
传到其他系统的参数,按照字母顺序排序,参数拼接后加token生成签名下游系统接收参数,用相同的token和参数拼接后生成,对比是否相同,相同进行下一步操作,否则抛出异常。对称加密 /** * @param $param * @param string $strSecretKey * @return bool|string * 生成签名 *...原创 2018-12-11 21:48:48 · 543 阅读 · 0 评论 -
phpadmin 导出csv格式的数据处理
将对应的字段转化为汉字,如下代码<?phpdate_default_timezone_set('UTC');include("./fcrm_shop_info_foraudit.php");include("./userList.php");$fp = fopen('./shop_export' . date('Y_m_d') . '.csv', "w+");$header ...原创 2019-03-07 19:20:02 · 673 阅读 · 0 评论 -
php 整理的零碎知识点
游戏准备安装pygamesudo pip2 install pygame验证安装python3 -m pygame.example.aliens原创 2019-03-13 11:42:57 · 290 阅读 · 0 评论 -
关于【缓存穿透、缓存击穿、缓存雪崩、热点数据失效】问题的解决方案
阿里一面:关于【缓存穿透、缓存击穿、缓存雪崩、热点数据失效】问题的解决方案乔二爷 纯洁的微笑 4月11日本文转载自公众号:乔二爷,知识星球内成员、Java 极客技术作者团队成员。这篇文章,是这位同学对自己阿里一面的总结,大家可以参考一下,同时也感谢乔二爷同学的分享。1 前言昨天晚上接到阿里的电面电话,过程中就问到了关于缓存相关的问题。虽然以前接触过,多多少少了解了一些。但是之前自己...转载 2019-05-03 11:41:36 · 247 阅读 · 0 评论 -
CGI,FastCGI和PHP-FPM之间的关系和区别。
什么是CGI?早期的web server只可以处理简单的静态web文件,但是随着技术的发展出现动态语言如PHP,Python。PHP语言交给PHP解析器进行处理,但是处理之后如何和web server进行通信呢?为了解决不同的语言处理器与web server之间的通讯,出现了CGI协议。只要按照CGI协议编写程序,就可以实现与语言解析器与web server之间的通讯。CGI协议虽然解决了语...原创 2019-05-21 22:07:44 · 354 阅读 · 0 评论 -
小刘的PHP碰到的坑
php基础)1、陌陌在20170201 ~ 20170209举行了签到活动,参加活动用户的userid为 1 ~ 10000000,由于签到接口的请求量过大,现决定签到时10%的概率分享一条留言板。ua格式为Momo/1.1.1 Android/1132 (SM901; Android 6.0.1; Gapps 0; zh_CN; 1; smartisan1)如何通过php判断2017020...原创 2019-06-17 00:11:40 · 887 阅读 · 0 评论 -
php-fpm进程管理的三种模式
转载自 php-fpm解读-进程管理的三种模式—程序媛大丽 标明转载以示尊重 感谢原作者的分享。php-fpm进程管理一共有三种模式:ondemand、static、dynamic,我们可以在同一个fpm的master配置三种模式,看下图1。php-fpm的工作模式和nginx类似,都是一个master,多个worker模型。每个worker都在accept本pool内的监听套接字(linu...转载 2019-06-17 10:16:41 · 1927 阅读 · 0 评论 -
什么是依赖注入与Ioc容器
背景在很多编程语言(例如java)开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,一旦有修改,牵扯的类会很多。最早在java的spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中。目前许多主流PHP框架也使用了依赖注入容器...原创 2019-09-27 17:01:13 · 1013 阅读 · 0 评论 -
小刘的http状态码整理
**200 OK - [GET]:服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)。201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功。202 Accepted - [*]:表示一个请求已经进入后台排队(异步任务)204 NO CONTENT - [DELETE]:用户删除数据成功。400 INVALID REQUEST - [POST...原创 2019-10-10 21:46:01 · 248 阅读 · 0 评论 -
URL访问模式
所谓的URL访问模式(url路由模式),值的就是不同格式的请求的URL。 ①普通模式(get模型) 示例:http://www.tpshop.com/index.php?m=Home&c=Test&a=index&page=10 格式:http://域名/入口文件?m=分组名&c=控制器名称&a=操作方法名称&参数名=参数值②pathinf...原创 2018-06-13 19:32:14 · 2919 阅读 · 0 评论 -
Mac下小技巧 (快捷键)
类似sublime 神编辑器中的ctrl+d功能 mac的快捷键是control+G原创 2018-11-30 11:51:46 · 429 阅读 · 0 评论 -
关于QPS的那些事儿
评价一个网站的“大小”,处于视角的不同,有很多种衡量的方法,类似文章数,页面数之类的数据非常明显,也没有什么可以争议的。但对于并发来说,争议非常之多,这里就从一个技术的角度开始,谈谈几个Web网站的数量级。相信很多人谈论一个网站的热度,总免不了会询问日均PV,同时在线人数、注册用户数等运营数据,说实话从技术角度来说,这几个数值没有一个可以放在一起比较的——一个静态网站的PV跟一个SNS类/Web...转载 2018-10-23 14:44:54 · 2268 阅读 · 0 评论 -
php 设计模式 (单例+工厂)
1什么是设计模式? 1.1 设计模式是代码设计经验的总结。可以加快开发速度。 1.2 好处:代码重用,方便后期维护。2常用的设计模式。 2.1. 单例设计模式:一个列只能创建一个对象,不管用什么方法,都无法创建第2个对象。如:数据库 2.2 工厂设计模式:根据传递的不同的类名,生产不同类的对象的工厂。3单例模式设计要求(三私一公) 3.1私有的静态的...原创 2018-06-19 08:30:37 · 357 阅读 · 0 评论 -
递归遍历目录及删除文件
实例: 递归遍历所有目录及子目录和文件<?php$path = "要遍历的目录";//定义函数 function showAll($path){ //判断是不是目录 if(is_dir($path)){ //如果是目录,则打开目录,返回目录句柄 $handle = opendir($path); ec...原创 2018-06-24 22:59:13 · 289 阅读 · 0 评论 -
php 递归 迭代
阶乘的求解思路: 5! = 5 * 4! 5! = 5 * 4 * 3! 5! = 5 * 4 * 3 * 2! 5! = 5 * 4 * 3 * 2 * 1! 1! =1; 计算5的阶乘时,没有立即计算出结果,需要求更低的阶乘求5 的阶乘,核心:求其他数的阶乘。 定义一个求阶乘的函数fn: fn(5) = 5 * fn(4) 剩下的阶乘: fn($n ) 在函数fn()...原创 2018-06-09 00:47:20 · 629 阅读 · 0 评论 -
用PHP实现最小公倍数 2-200素数
定义一个函数,该函数可以求两个正数的最小公倍数。——倍数就是能被一个数整除的数,最小公倍数就是能同时被这两个数整除的最小的那个。比如6和8的最小公倍数是24,15和20的最小公倍数是60。解题思路: 提示1:本题是一个典型数学应用的计算机解决方案,利用的是公倍数的基本概念加上程序算法中的循环递增机制来实现。当然,本题还要求做到更高一层,那就是将求解过程包装成函数,这样为以后的同类问题提供了便...原创 2018-06-23 17:29:37 · 1760 阅读 · 0 评论 -
PHP算法 (冒泡 选择排序 折半查找 顺序查找 斐波那契数列 素数 )
1冒泡算法<?php function bubble($arr){ $n = count($arr); for ($i=0; $i <$n-1 ; $i++) { for ($j=0; $j <$n-1-$i ; $j++) { if($arr[$j]>$arr[$j+1]){ $tem = $arr[...原创 2018-06-22 10:30:55 · 351 阅读 · 0 评论 -
php 图像的基本操作
图像基本操作1.创建图像三种方法:创建图像2.绘制图像如:在图片中写入文字,汉字,水印等3.输出图像将图像在哪个地方显示 1)在浏览器显示 header(‘content-type:image/jpeg’); imagejpeg(图像资源);2)在操作系统中以图片的形式来显示imagejpeg(图像资源);2)在操作系统中以图片的形式来显示imagejpe...原创 2018-06-22 09:59:29 · 1250 阅读 · 0 评论 -
php 随机字符串 验证码
<?php//取出随机的字符串 例如验证码header("content-type:text/html;charset=utf8");//range 建立一个包含指定范围单元的数组//array_merge //合并数组// array_merge //合并数组//array_rand() 从数组中随机取出一个或多个单元,返回值为数组,是由原数组的下标构成的$ar...原创 2018-06-20 21:24:35 · 404 阅读 · 0 评论 -
php中 var_dump 和 echo 和 print_r() 和 print
1)var_dump() //打印变量的相关信息(详细信息) 2)print_r() // 打印出复杂变量的值(如数组,对象) 3)print() // 只能打印简单类型的变量的值 4)echo 输出变量 echo 输出字符串 echo — 输出一个或多个字符串不是一个函数(它是一个语言结构),...原创 2018-06-20 20:41:56 · 358 阅读 · 0 评论 -
php算法 快速排序 选择算法 冒泡算法
顺序依次为 快速排序 --》选择排序 ---》冒泡算法 我的实例很好理解 因为前几天面试看了下别人写的 网上搜的 总觉得不怎么样,所以自己写了下整理了下1. 快速排序<?php//快速排序是个十分有效的高效率算法,//其思想是先选一个标尺,用它把整个队列过一遍筛选,以保证其他//左边的元素都不大于大,其他右边的元素都不小于它function quickSort($arr){...原创 2018-05-26 11:10:21 · 362 阅读 · 0 评论 -
tp3 上传图片出现上传根目录不存在!请尝试手动创建:./Public/Uploads/ 错误解决思路
下面看我的代码 方法一我指定的路径是在 ` public function upload( &data) {data) {data) { upload = new \Think\Upload();// ...原创 2018-05-13 21:49:57 · 9636 阅读 · 0 评论 -
tp5框架 报错非法请求:admin/index/index
解决tp5框架中的非法请求的报错方式 请看图原创 2018-05-06 18:36:16 · 10492 阅读 · 0 评论 -
apache2.4的安装and php 5.6 安装 of windows
安装apache2.4软件截图 1、指定Apache的安装目录 2、指定Apache的服务器地址 3、指定网站的跟目录 4、网站的首页设置 5、指定Apache关键文件目录 安装PHP5.6.29 Apache与PHP的整合 打开httpd.conf配置文件 LoadModule php5_module “D:/w...原创 2018-05-05 17:15:07 · 381 阅读 · 0 评论