-
详解PHP序列化和反序列化原理
所属栏目:[PHP教程] 日期:2021-04-01 热度:66
0.前言 对象的序列化和反序列化作用就不再赘述,php中序列化的结果是一个php自定义的字符串格式,有点类似json. 我们在任何语言中设计对象的序列化和反序列化都需要解决几个问题 把某个对象序列化之后,序列化的结果有自描述的功能(从序列化的结果中知道这个对[详细]
-
基于 Swoole 的微信扫码登录功能实现代码
所属栏目:[PHP教程] 日期:2021-04-01 热度:159
随着微信的普及,扫码登录方式越来越被现在的应用所使用。它因为不用去记住密码,只要有微信号即可方便快捷登录。微信的开放平台原生就有支持扫码登录的功能,不过大部分人还是在用公众平台,所以扫码登录只能自行实现。这里基于微信公众平台的带参数临时二[详细]
-
PHP7扩展开发之hello word实现方法详解
所属栏目:[PHP教程] 日期:2021-04-01 热度:132
本篇章节讲解PHP7扩展开发之hello word实现方法。供大家参考研究具体如下: 这里是以PHP7作为基础,讲解如何从零开始创建一个PHP扩展。本文主要讲解创建一个扩展的基本步骤都有哪些。示例中,我们将实现如下功能: 输出内容: 在扩展中实现一个say[详细]
-
PHP实现的防止跨站和xss攻击代码【来自阿里云】
所属栏目:[PHP教程] 日期:2021-03-31 热度:181
本篇章节讲解PHP实现的防止跨站和xss攻击代码。供大家参考研究具体如下: 文档说明: 1.将waf.php传到要包含的文件的目录 2.在页面中加入防护,有两种做法,根据情况二选一即可: a).在所需要防护的页面加入代码 就可以做到页面防注入、跨站 如果[详细]
-
php使用imagecopymerge()函数创建半透明水印
所属栏目:[PHP教程] 日期:2021-03-31 热度:179
使用创建半透明水印,供大家参考,具体内容如下 // 首先我们从 GD 手动创建水印图像 $stamp = imagecreatetruecolor(100,70); imagefilledrectangle($stamp,99,69,0x0000FF); imagefilledrectangle($stamp,9,90,60,0xFFFFFF); imagestring($stamp,5,20,'libG[详细]
-
php实现mysql连接池效果实现代码
所属栏目:[PHP教程] 日期:2021-03-31 热度:113
循环从mysql连接池中获取连接,不需要重复创建新的连接。 参考配置修改:可以参考下面的文章 防止访问量过大,把连接数占满了 /** @author xuleyan @title mysql类 */ class DbHelper{ //连接池 private $_pools = []; //连接池大小 const POOLSIZE = 5; con[详细]
-
PHP CURL与java http使用方法详解
所属栏目:[PHP教程] 日期:2021-03-31 热度:196
php curl 有时候我们的项目需要与第三方平台进行交互。举个例子。 现在有A、B两个平台。 甲方在最初一段时间由A实现了一部分关键业务(如用户信息等)。 然后基于一部分原因,现在有一些业务需要B来实现,且实现程序调用了一些敏感的接口只能在B方服务器上跑[详细]
-
PHP微信开发之微信录音临时转永久存储
所属栏目:[PHP教程] 日期:2021-03-31 热度:79
最近做开发的时候碰到了这个问题,甲方希望用户在微信端的录音能够一直有效。就是随时打开好友的分享就能听到好友的录音。可在微信官方开发手册上查到微信录音文件上传后只能在微信端保留3天时间,3天后就失效了。怎么办呢? 1、通过调用微信媒体资源下载接[详细]
-
PHP设计模式之注册树模式分析
所属栏目:[PHP教程] 日期:2021-03-31 热度:87
本篇章节讲解PHP注册树模式。供大家参考研究具体如下: 什么是注册树模式? 注册树模式当然也叫注册模式,注册器模式。之所以我在这里矫情一下它的名称,是因为我感觉注册树这个名称更容易让人理解。像前两篇一样,我们这 篇依旧是从名字入手。注[详细]
-
基于php中echo用逗号和用点号的区别详解
所属栏目:[PHP教程] 日期:2021-03-31 热度:149
实例如下: "; echo '1+5='."1+5"." "; echo '1+5='."5+1"," "; echo '1+5=',1," "; //用逗号,不需要空格 echo '1+5='. 1," "; //用连接符,需要空格,否则报错 echo '1+5=',100+200," "; //用逗号,常用于输出多个变量,不影响输出 //省去了字符串拼接的步[详细]
-
php实现统计二进制中1的个数算法示例
所属栏目:[PHP教程] 日期:2021-03-31 热度:128
本篇章节讲解php实现统计二进制中1的个数算法。供大家参考研究具体如下: 问题 输入一个十进制整数,输出该数二进制表示中1的个数。其中负数用补码表示。 解决思路 这是个位运算的题目。解法一:可以通过按位与操作,通过将每一位和1与操作来求出1[详细]
-
PHP开发之用微信远程遥控服务器
所属栏目:[PHP教程] 日期:2021-03-31 热度:122
摘要 微信公众好的开发很火,小程序更火。于是也凑个热闹,尝试了一把。 大致的功能还是有的,不过是不全,很多地方我没有进行处理。不过对于纯文本方式的交流,已经没有问题啦。 p style="text-align: center" 环境搭建 下面大致的讲讲微信公众号的原理吧。[详细]
-
CI框架(CodeIgniter)操作redis的方法详解
所属栏目:[PHP教程] 日期:2021-03-31 热度:76
本篇章节讲解CI框架(CodeIgniter)操作redis的方法。供大家参考研究具体如下: 1. 在autoload.php 中加入 如下配置行 2. 在/application/config 中加入文件 redis.php 文件内容如下: 3. 在 /application/libraries 中加入文件 Redis.php 文件来源[详细]
-
PHP实现的折半查找算法示例
所属栏目:[PHP教程] 日期:2021-03-31 热度:88
本篇章节讲解PHP实现的折半查找算法。供大家参考研究具体如下: 定义: 折半查找技术,也就是二分查找。它的前提是线性表中的记录必须是关键码有序(通常从大到小有序),线性表必须采用顺序存储。 折半查找的基本思想: 取中间记录作为比较对象,[详细]
-
PHP实现的字符串匹配算法示例【sunday算法】
所属栏目:[PHP教程] 日期:2021-03-31 热度:90
本篇章节讲解PHP实现的字符串匹配算法————sunday算法。供大家参考研究具体如下: Sunday算法是Daniel M.Sunday于1990年提出的字符串模式匹配。其核心思想是: = $text_len) return false; $i = 0; for($i = 0; $i 运行结果: 更多关于PHP相关内[详细]
-
PHP7下协程的实现方法详解
所属栏目:[PHP教程] 日期:2021-03-31 热度:51
前言 相信大家都听说过『协程』这个概念吧。 但是有些同学对这个概念似懂非懂,不知道怎么实现,怎么用,用在哪,甚至有些人认为yield就是协程! 我始终相信,如果你无法准确地表达出一个知识点的话,我可以认为你就是不懂。 如果你之前了解过利用PHP实现协[详细]
-
浅谈PHP实现大流量下抢购方案
所属栏目:[PHP教程] 日期:2021-03-31 热度:92
要求要有小时分钟秒的实时倒计时的显示,用户端修改日期时间不会影响到倒计时的正常显示(也就是以服务器时间为准)。 其实这和很多的考试等系统的时间限制功能同样的要求。 总不能用ajax每秒都获取服务器时间吧,所以实时倒计时一定要用javascript实现。这[详细]
-
PHP结合Vue实现滚动底部加载效果
所属栏目:[PHP教程] 日期:2021-03-31 热度:75
前言 最近的一个项目手机端分页跳转不理想,自己做了一个滚动加载的一个Demo,下面话不多说了,来一起看看详细的介绍吧。 实现思路 1.获得滚动条到底部的距离 getScrollBottomHeight() 2.绑定滚动事件 handleScroll() , handleScroll() 判断滚动条到底部距[详细]
-
PHP递归实现快速排序的方法示例
所属栏目:[PHP教程] 日期:2021-03-31 热度:62
本篇章节讲解PHP递归实现快速排序的方法。供大家参考研究具体如下: 首先我们要理解一下 快速排序的原理 : 不难发现,这里符合递归的原理,所以我们可以用递归来实现。 使用递归,则需要找到递归点和递归出口: 递归点: 如果数组的元素大于1,就[详细]
-
利用PHP判断是手机移动端还是PC端访问的函数示例
所属栏目:[PHP教程] 日期:2021-03-31 热度:155
前言 最近在开发项目的时候,分别开发了PC端和手机端,需要实现,用手机访问PC端WWW域名的时候,自动判断跳转到移动端,用电脑访问M域名手机网站的时候,自动跳转到PC端网站,于是有了下面这个判断函数: 示例代码: PHP isset 函数作用 isset函数是检测变量[详细]
-
PHP中OpenSSL加密问题整理
所属栏目:[PHP教程] 日期:2021-03-31 热度:194
最近公司项目中有需要用到OpenSSL的加密和java端进行接口验证,再测试环境升级到PHP7的时候加密会出现错误,后来多方面检查终于找到原因所在: PHP7环境下把openssl_get_privatekey方法换成openssl_pkey_get_private 需要转换一下秘钥,window环境和Linux环[详细]
-
PHP实现数组的笛卡尔积运算示例
所属栏目:[PHP教程] 日期:2021-03-31 热度:122
本篇章节讲解PHP实现数组的笛卡尔积运算。分享给大家供大家参考,具体如下: 数组的笛卡尔积在实际中还是挺有用处的,比如计算商品的规格时就经常用到,下面写一种实现方式,如下代码 以上例子输出的结果如下: Array ( [0] => 2 [1] => 6 [2] => a ) [1][详细]
-
使用XHProf查找PHP性能瓶颈的实例
所属栏目:[PHP教程] 日期:2021-03-31 热度:191
XHProf是facebook 开发的一个测试php性能的扩展,本文记录了在中使用XHProf对PHP进行性能优化,查找性能瓶颈的方法。 一、安装Xhprof扩展 二、修改php.ini 配置中xhprof.output_dir指定了生成的profile文件存储的位置,我们将其指定为/tmp。 三、将相关文件[详细]
-
实例分析PHP中PHPMailer发邮件
所属栏目:[PHP教程] 日期:2021-03-31 热度:149
下面以QQ邮箱为例,按照这四个方面来介绍PHPMaIiler的使用: PHPMailer的介绍步骤一:使QQ邮箱能够发送邮件步骤二:使PHP能够使用QQ邮箱发送邮件步骤三:编写发送邮件代码 ThinkPHP使用PHPMailer 发送邮件 PHPMailer的介绍 可运行在任何平台之上;支持SMTP验[详细]
-
phpcms实现验证码替换及phpcms实现全站搜索功能教程详解
所属栏目:[PHP教程] 日期:2021-03-31 热度:144
在使用phpcms替换网页的时候,除了正常的替换栏目、内容页等,其他的什么验证码啦,提交表单了,搜索功能了,这些在替换的时候可能会对一些默认文件有一些小小 的改变 下面就是自己在失败中成功的过程,最后终于替换成没有bug的替换 一、phpcms的验证码替换[详细]