-
PHP浮点数的一个常见情况
所属栏目:[PHP教程] 日期:2022-02-25 热度:136
PHP是一种弱类型语言, 这样的特性, 必然要求有无缝透明的隐式类型转换, PHP内部使用zval来保存任意类型的数值, zval的结构如下(5.2为例): struct _zval_struct { /* Variable information */ zvalue_value value; /* value */ zend_uint refcount; zend_ucha[详细]
-
全面解读PHP的Yii框架里的日志功能
所属栏目:[PHP教程] 日期:2022-02-25 热度:110
Yii页面级日志开启 在 Main.php中 log段添加、下面显示页面日志 array( class=CWebLogRoute, levels=trace, //级别为trace categories=system.db.* //只显示关于数据库信息,包括数据库连接,数据库执行语句 ), 完整如下: log=array( class=CLogRouter, route[详细]
-
深入分析PHP的Yii框架中的event事件机制
所属栏目:[PHP教程] 日期:2022-02-25 热度:177
事件 事件可以将自定义代码注入到现有代码中的特定执行点。附加自定义代码到某个事件,当这个事件被触发时,这些代码就会自动执行。例如,邮件程序对象成功发出消息时可触发 messageSent 事件。如想追踪成功发送的消息,可以附加相应追踪代码到messageSent[详细]
-
PHP5.5迭代生成器用法实例详解
所属栏目:[PHP教程] 日期:2022-02-25 热度:193
本文实例讲述了PHP5.5迭代生成器用法。分享给大家供大家参考,具体如下: PHP5.5引入了迭代生成器的概念,迭代的概念早就在PHP有了,但是迭代生成器是PHP的一个新特性,这跟python3中的迭代生成器类似,看看PHP5.5的迭代生成器如何定义。 function xrange($s[详细]
-
PHP怎样支持CURL字符串证书传输?
所属栏目:[PHP教程] 日期:2022-02-24 热度:130
背景:最近在对接微信支付的时候,需要在退款处用到证书,由于我们是SAAS平台,要支持多方多渠道支付,如果把所有证书文件保存在应用服务器会受到SLB的影响,会导致某台机器文件不同步而阻碍退款流程,但把文件存在OSS的话,后端又要从OSS下载到应用服务器来[详细]
-
PHP学习之查寻两个链表的第一个公共结点
所属栏目:[PHP教程] 日期:2022-02-24 热度:130
本篇文章小编将带大家学习用PHP实现查找两个链表的第一个公共结点,具有一定的参考价值,感兴趣的朋友可以看看,希望对你有所帮助。 输入两个链表,找出它们的第一个公共结点 1.两个单链表,有公共结点,那么必然,尾部公用 2.找出链表1的长度,找出链表2的[详细]
-
PHP堆排序的原理以及完成代码
所属栏目:[PHP教程] 日期:2022-02-24 热度:122
本篇文章的主要内容是用PHP实现堆排序,具有一定的参考价值,感兴趣的朋友可以了解一下。 1.堆(二叉堆):可以视为一棵完全的二叉树,除了最底层之外,每一层都是满的,这使得堆可以利用数组来表示,每一个结点对应数组中的一个元素 2.给出某个结点的下标,可以计算[详细]
-
PHP怎样操作Memcache缓存?
所属栏目:[PHP教程] 日期:2022-02-24 热度:59
安装好了memcache服务和php的扩展,我们就可以使用php去操作memcache来实现缓存啦! PHP的Memcache客户端所有方法总结 memcache 类所有的方法列表如下: Memcache::add 添加一个值,如果已经存在,则返回false Memcache::addServer 添加一个可供使用的服务器[详细]
-
怎样用PHP实现队列算法
所属栏目:[PHP教程] 日期:2022-02-24 热度:70
本篇文章主要讲述的是用PHP实现队列算法,具有一定的参考价值,有需要的朋友可以了解一下。 队列是一种特殊的线性表,它只允许在表的前端,可以称之为front,进行删除操作;而在表的后端,可以称之为rear进行插入操作。队列和堆栈一样,是一种操作受限制的线[详细]
-
PHP调用MEMCACHE高速缓存技术示例
所属栏目:[PHP教程] 日期:2022-02-24 热度:177
在项目中,涉及大访问量时,合理的使用缓存能减轻数据库的压力,同时提升用户体验。即在非实时性的需求的前提下,一小段时间内(若干秒),用于显示的数据从缓存中获取的,而不用直接读取数据库,能有效的减少数据库的读取压力。这里记录一下php语言使用memc[详细]
-
php 查看运用了多少内存
所属栏目:[PHP教程] 日期:2022-02-24 热度:192
方法memory_get_usage 是指当前脚本正在使用的内存 unset只是把内存标记为空闲但并没有释放,要GC程序结束后才会释放 $bytes = memory_get_peak_usage(); function formatBytes($bytes, $precision = 2) { $units = array(b, kb, mb, gb, tb); $bytes = max([详细]
-
PHP访问数据缓存解决
所属栏目:[PHP教程] 日期:2022-02-24 热度:89
本文讲述的是PHP访问数据缓存处理,利用Redis或Memcache作为MySQL的缓存,采用是ThinkPHP框架。 方法一 采用ThinkPHP的S方法: $savedata[uid]=session(uid); $savedata[ip]=$_SERVER[REMOTE_ADDR]; $savedata[url]=$_SERVER[REQUEST_URI]; $savedata[create[详细]
-
php里如何使用C语言写扩展
所属栏目:[PHP教程] 日期:2022-02-24 热度:173
本篇文章给大家带来的内容是介绍如何使用C语言给PHP写扩展,,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 1、在php源码路径的ext文件夹下,新建一个extend_test.def文件,编辑文件内容为: string my_test_function(string str,int n)[详细]
-
PHP支持CURL字符串证书传输的方法说明
所属栏目:[PHP教程] 日期:2022-02-24 热度:66
本篇文章给大家带来的内容是关于PHP支持CURL字符串证书传输的方法介绍(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 最近在对接微信支付的时候,需要在退款处用到证书,由于我们是SAAS平台,要支持多方多渠道支付,如果把所有[详细]
-
用PHP和XML联手进行网站开发
所属栏目:[PHP教程] 日期:2022-02-24 热度:53
一、小序 HTML简单易学又通用,一般的PHP程序就是嵌入在HTML语言之中实现的。但是随着WEB越来越广泛的应用,HTML的弱点也越来越明显了。XML的出现,弥补了这些不足,它提供了一个能够处理互联网上全部数据的通用方法。 二、HTML的局限性分析 1、 HTML的可扩[详细]
-
PHP下一代的五个framework说明
所属栏目:[PHP教程] 日期:2022-02-24 热度:177
随便编写php的日子将远去了。下面有5个下一代的php框架。每个框架都为php下一步发展做了高深设计,许多都应和Ruby on Rails,快速开发动态语言,更有甚者, php on trax 直指 Ruby on Rails。如下面所列的frameworks,我学习了 AGAVI 就像 Symfony 一样轻松[详细]
-
用php完成简单的滑动菜单
所属栏目:[PHP教程] 日期:2022-02-24 热度:161
style table {font-size = 9pt} td {height = 20px} /style body span id=menus/span span id=view/span /body script for=pad event=onclick * 产生菜单的html代码串 * 入口参数为菜单默认打开的大类号 */ function menu(n) { this.ar = new Array( /** *[详细]
-
php escapeshellcmd多字节编码漏洞
所属栏目:[PHP教程] 日期:2022-02-24 热度:146
漏洞公告在http://www.sektioneins.de/advisories/SE-2008-03.txt PHP 5 = 5.2.5 PHP 4 = 4.4.8 一些允许如GBK,EUC-KR, SJIS等宽字节字符集的系统都可能受此影响,影响还是非常大的,国内的虚拟主机应该是通杀的,在测试完这个漏洞之后,发现还是十分有意思[详细]
-
php什么时候运用闭包
所属栏目:[PHP教程] 日期:2022-02-24 热度:150
php中的闭包的使用场景有:在动态调用静态类时,在callback函数中使用,赋值给一个普通的变量,使用use从父域中继承以及传递参数时 闭包函数 匿名函数,也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数。最经常用作回调函数(callback)参数[详细]
-
php完成监听事件
所属栏目:[PHP教程] 日期:2022-02-24 热度:52
本文介绍关于在php实现事件监听与触发实例程序代码,如何实现事件监听,参考了jQuery的事件绑定思路,简单的实现了一下。 主要功能: 1.绑定事件 支持一个事件绑定多个动作,支持绑定一次性事件 2.触发事件 3.注销事件 代码如下: class Event { protected sta[详细]
-
php怎样防范xss
所属栏目:[PHP教程] 日期:2022-02-24 热度:86
php防范xss的方法有在输出html时,加上Content Security Policy的Http Header;在设置Cookie时,加上HttpOnly参数;检验请求的Referer参数 php防范xss 1、PHP直接输出html的,可以采用以下的方法进行过滤: htmlspecialchars函数 htmlentities函数 HTMLPurif[详细]
-
PHP使用Redis的GEO 地理位置 指令
所属栏目:[PHP教程] 日期:2022-02-24 热度:156
Redis自3.2版本开始新增对GEO(地理位置)的支持,但是地球不是一个完美的球体,在最坏的情况下的偏差可能是0.5%。接近两极的区域是不支持的,支持坐标的有效的经度从-180度到180度;有效的纬度从-85.05112878度到85.05112878度,超出范围将会报错。 我喜欢爬[详细]
-
PHP中的clone和new性能对比
所属栏目:[PHP教程] 日期:2022-02-24 热度:122
clone和new本不应该放在一起比较,它们的作用是不同的。但可能有一些场景下,可以用clone也可以用new,那么这时候我们选哪个呢? 我编写了两个测试,第一个是声明一个空类,第二个是带构造方法、属性的类。另外,我还加入了 PHP 序列化的测试。 国际惯例,直[详细]
-
运用PHP编程防范XSS跨站脚本攻击
所属栏目:[PHP教程] 日期:2022-02-24 热度:95
国内不少论坛都存在跨站脚本漏洞,国外也很多这样的例子,甚至Google也出现过,不过在12月初时修正了。(编者注:关于跨站脚本漏洞攻击,读者可参阅《详解XSS跨站脚本攻击》)。跨站攻击很容易就可以构造,而且非常隐蔽,不易被查觉(通常盗取信息后马上跳转回[详细]
-
简单分析PHP中序列化用法介绍
所属栏目:[PHP教程] 日期:2022-02-24 热度:151
0x00 序列化函数 serialize():返回带有变量类型和值的字符串 unserialize():想要将已序列化的字符串变回 PHP 的值 测试代码: ?php class test{ var $a; var $b; function __construct($a,$b,$c){ $a = $a; $this-b = $b; } } class test1 extends test{ fu[详细]