
php重点知识
do better myself
学无止境、只有不断的学习,你才不会被社会淘汰!加油吧!少年!
展开
-
php 递归处理逻辑
//处理用户钱的逻辑private function checkCustomerLevel($inviteId, $recommend_level, $money) { $config = ['2'=>10000,'3'=>20000,'4'=>30000]; $modelCustomer = new Customer(); $inviteInfo = $modelCustomer->get($inviteId); .原创 2020-12-18 09:34:37 · 165 阅读 · 0 评论 -
git pull 报错
git pull origin master 报错error: The following untracked working tree files would be overwritten by merge: Application/Runtime/Logs/Admin/20_02_26.log Application/Runtime/Logs/Comm...原创 2020-02-26 14:24:00 · 210 阅读 · 0 评论 -
OAuth 2.0 的一个简单解释
一、授权机制的设计于是,我设计了一套授权机制。第一步,门禁系统的密码输入器下面,增加一个按钮,叫做"获取授权"。快递员需要首先按这个按钮,去申请授权。第二步,他按下按钮以后,屋主(也就是我)的手机就会跳出对话框:有人正在要求授权。系统还会显示该快递员的姓名、工号和所属的快递公司。我确认请求属实,就点击按钮,告诉门禁系统,我同意给予他进入小区的授权。第三步,门禁系统得到我的确认以...转载 2019-10-21 15:36:32 · 254 阅读 · 0 评论 -
ArrayList、LinkedList、HashMap区别
一个是数组实现,一个是链表实现。 ArrayList可以快速查询,链表需要遍历。ArrayList插入删除需要移动元素,链表只需要改变节点指向就行 ArrayList内存不足时需要动态扩容,每次是原来的1.5倍,LinkedList不需要动态扩容...转载 2019-10-15 15:04:53 · 594 阅读 · 0 评论 -
PHP抽奖算法
https://blog.51cto.com/5722921/2148939https://www.cnblogs.com/xiaoleiel/p/8324303.htmlhttps://www.cnblogs.com/sgm4231/p/9861032.html原创 2019-07-09 15:00:57 · 275 阅读 · 0 评论 -
Cookie和Session的作用和工作原理
简单介绍一下流程:当客户端访问服务器时,服务器根据需求设置session,将会话信息保存在服务器上,同时将标示session的session_id传递给客户端浏览器,浏览器将这个session_id保存在内存中(还有其他的存储方式,例如写在url中),我们称之为无过期时间的cookie。浏览器关闭后,这个cookie就清掉了,它不会存在用户的cookie临时文件。以后浏览器每次请求都会额外加...转载 2019-06-28 16:59:34 · 239 阅读 · 0 评论 -
Nginx+Php-fpm运行原理详解
https://blog.youkuaiyun.com/qq_21891743/article/details/79712946转载 2019-07-16 10:58:49 · 305 阅读 · 0 评论 -
微信分享功能在调试工具管用但是在手机上分享不带头图和标题的原因
1.第一个原因是后端接口返回的数据格式多了一层data数据层,导致前端获取页面数据的时候没有拿到分享的标题图片2.第二个原因是分享的地址写的是相对的地址,不是绝对的地址,导致微信那边分享的时候认为是跨域分享,导致分享不成功3.总结以上2点,以后写分享这块的代码还是得借鉴一下之前的分享的代码,看返回的数据格式结构,参考一下,就不会发生这些坑了。...原创 2019-08-09 10:26:57 · 1514 阅读 · 0 评论 -
什么是依赖注入
把有依赖关系的类放到容器中,解析出这些类的实例,就是依赖注入。目的是实现类的解耦。实例:Class A中用到了Class B的对象b,一般情况下,需要在A的代码中显式的new一个B的对象。采用依赖注入技术之后,A的代码只需要定义一个私有的B对象,不需要直接new来获得这个对象,而是通过相关的容器控制程序来将B对象在外部new出来并注入到A类里的引用中。这样做有什么好处呢?解释:假如现在有N...转载 2019-08-07 17:25:02 · 182 阅读 · 0 评论 -
ElasticHD Linux环境下安装
打开Xshell,连接到Linux系统中; 第一步:我们来下载程序压缩包,先打开下载地址页(上一篇中有地址),然后选择需要下载的版本,复制下载地址,然后用命令下载: wget https://github.com/360EntSecGroup-Skylar/ElasticHD/releases/download/1.4/elasticHD_linux_amd64.zip...原创 2019-09-04 17:37:04 · 508 阅读 · 0 评论 -
PHP将汉字转化为拼音
可以全拼音转换,也可以首字母转换https://blog.youkuaiyun.com/Jianping1011/article/details/88971782原创 2019-10-11 13:39:48 · 292 阅读 · 0 评论 -
redis 队列简单实现高并发抢购/秒杀
https://blog.youkuaiyun.com/Gekkoou/article/details/88714674转载 2019-06-27 17:20:34 · 1908 阅读 · 0 评论 -
sesson和cookie的对比:
sesson和cookie的对比:1、存放的位置cookie保存在客户端,session保存在服务器端的文件系统/数据库/memcache等。2、安全性session因为保存有服务器端,安全性无疑更高一些。3、网络传输量cookie通过网络在客户端与服务器端传输,会占用一些带宽;而session保存在服务器端,不需要传输。4、保存时间(生命周期),以20分钟为例cookie的生命...原创 2019-07-02 10:16:07 · 286 阅读 · 0 评论 -
php 的几种运行方式
php 的几种运行方式CGIFAST-CGIWeb-moduleCLICGICGI (Common Gateway Interface) 是通用网关型接口,CGI是外部应用程序(CGI程序)与Web服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的过程。简单的说,就是当你的 php引擎和web服务器相互传递消息时,CGI 规定了一套标准来规范如何传递数据以及数据传递的格式。...转载 2019-06-26 15:16:37 · 2946 阅读 · 0 评论 -
订单重复支付问题
情况一: 业务订单支付成功后, 再次拉起支付。(可能性很小,业务逻辑出错的情况下会出现)情况二: 连续拉起两次支付情况三: 第一次支付中,第二次再次支付情况四:第一次已支付,但是回调延迟,第二次再次支付 解决:情况一:对每个业务订单生成预支付订单时,检查业务订单支付已支付情况二: 支付接口延迟限制(3s内只能调用一次)情况三和情况四: 检查是否有相同业务订单号的支付...转载 2018-10-12 17:06:48 · 2201 阅读 · 0 评论 -
php 获取数组中不重复的值
用PHP自带函数计算出每个元素重复的次数,将次数重复等于1的赋予一个新数组$a = array(1,2,3,3,2,1,5);$b = array_count_values($a);foreach($b as $k=>$v){ if ($v == 1){ $c[$k] = $v; }}print_r($c);...原创 2018-09-29 14:02:28 · 3533 阅读 · 0 评论 -
session存储用户信息的实现
1.与其他用户状态保存方案比较一般开发中用户状态使用session或者cookie,两种方式各种利弊。Session:在InProc模式下容易丢失,并且引起并发问题。如果使用SQLServer或者SQLServer模式又消耗了性能Cookie则容易将一些用户信息暴露,加解密同样也消耗了性能。Redis采用这样的方案解决了几个问题,1.Redis存取速度快。2.用户数据不容...原创 2018-10-08 16:49:39 · 7051 阅读 · 0 评论 -
php 依赖注入的实现
当A类需要依赖于B类,也就是说需要在A类中实例化B类的对象来使用时候,如果B类中的功能发生改变,也会导致A类中使用B类的地方也要跟着修改,导致A类与B类高耦合。这个时候解决方式是,A类应该去依赖B类的接口,把具体的类的实例化交给外部。<?php/** * 为了约束我们先定义一个消息接口 * Interface Message */interface Message{...原创 2018-10-10 15:46:08 · 2413 阅读 · 2 评论 -
实现幂等性的技术方案
查询操作查询一次和查询多次,在数据不变的情况下,查询结果是一样的,select是天然的幂等操作。复制代码删除操作删除操作也是幂等的,删除一次和多次删除都是把数据删除。(注意可能返回结果不一样,删除的数据不存在,返回0,删除的数据多条,返回结果多个)。复制代码唯一索引,防止新增脏数据拿资金账户和用户账户来说,每个用户只能有一个资金账户,怎么防止给用户创建资金账户多个,...转载 2018-12-07 09:34:55 · 325 阅读 · 0 评论 -
php from表单提交数据
//form 表单提交..................echo "<meta http-equiv='Content-Type' content='text/html; charset=UTF-8' /> <form action='https://pay.sina.com.cn/redirect/cashdesk/pay' method='post'>...原创 2019-03-19 11:50:36 · 1111 阅读 · 0 评论 -
php 生成用户token和保存token到redis的方法
根据用户手机号和当前的时间加上sha1方法,Secure Hash Algorithm(安全哈希算法,函数返回一个 40位的十六进制数function createToken($telephone){ return unsafe_b64encode(hash_hmac('sha1', time() . $telephone, $telephone, true));}func...原创 2019-04-02 14:07:56 · 3394 阅读 · 0 评论 -
Nginx与PHP通信的两种方式
https://blog.youkuaiyun.com/wuhuagu_wuhuaguo/article/details/83032578当客户端请求到达nginx时,nginx通过location指令,将所有以php为后缀的文件都交给 127.0.0.1:9000 来处理。php-fpm选择并连接到一个fastcgi子进程,并将环境变量和标准输入发送到fastcgi子进程。fastcgi子进程完成...转载 2019-04-08 16:53:39 · 538 阅读 · 0 评论 -
php防止表单重复提交的例子
<?php/** 2016年9月29日08:09:13 郝云云书*/session_start();header("Content-Type: text/html;charset=utf-8");function set_token() { $_SESSION['token'] = md5(microtime(true));}function valid_token(...转载 2019-05-08 13:47:37 · 721 阅读 · 0 评论 -
从扑克牌中随机抽取5张牌,判断是不是一个顺子,即这5张牌是不是连续(面试题)
从扑克牌中随机抽取5张牌,判断是不是一个顺子,即这5张牌是不是连续的2-10位数字本身,A为1,J为11,Q为12,K为13,而大小王可以看成任意数字统计数组中出现的次数,判断等于0,大于1大于2大于13返回,去重,排序,剩余个数m + 0次数n -1>=最大值减去最小值分析该题: 大小王可以当做任意数字,故将其记为0 用php数组进行处理,将传入的5个数,放到数组里...转载 2019-06-21 11:53:11 · 2306 阅读 · 1 评论 -
php 防止重复提交表单
第一、使用Session处理利用PHP的Session功能,也能避免重复提交表单。Session保存在服务器端,在PHP运行过程中可以改变Session变量,下次访问这个变量时,得到的是新赋的值,所以,可以用一个Session变量记录表单提交的值,如果不匹配,则认为是用户在重复提交,请见如下代码: 1 2 3 4 5 6 ...原创 2018-10-11 15:16:20 · 1791 阅读 · 0 评论