-
PHP堆排序的原理以及完成代码
所属栏目:[PHP教程] 日期:2022-02-24 热度:147
本篇文章的主要内容是用PHP实现堆排序,具有一定的参考价值,感兴趣的朋友可以了解一下。 1.堆(二叉堆):可以视为一棵完全的二叉树,除了最底层之外,每一层都是满的,这使得堆可以利用数组来表示,每一个结点对应数组中的一个元素 2.给出某个结点的下标,可以计[详细]
-
PHP怎样操作Memcache缓存?
所属栏目:[PHP教程] 日期:2022-02-24 热度:180
安装好了memcache服务和php的扩展,我们就可以使用php去操作memcache来实现缓存啦! PHP的Memcache客户端所有方法总结 memcache 类所有的方法列表如下: Memcache::add 添加一个值,如果已经存在,则返回false Memcache::addServer 添加一个可供使用的服务[详细]
-
PHP支持CURL字符串证书传输的方法说明
所属栏目:[PHP教程] 日期:2022-02-24 热度:98
本篇文章给大家带来的内容是关于PHP支持CURL字符串证书传输的方法介绍(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 最近在对接微信支付的时候,需要在退款处用到证书,由于我们是SAAS平台,要支持多方多渠道支付,如果把所[详细]
-
php里如何使用C语言写扩展
所属栏目:[PHP教程] 日期:2022-02-24 热度:57
本篇文章给大家带来的内容是介绍如何使用C语言给PHP写扩展,,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 1、在php源码路径的ext文件夹下,新建一个extend_test.def文件,编辑文件内容为: string my_test_function(string str,int[详细]
-
PHP调用MEMCACHE高速缓存技术示例
所属栏目:[PHP教程] 日期:2022-02-24 热度:174
在项目中,涉及大访问量时,合理的使用缓存能减轻数据库的压力,同时提升用户体验。即在非实时性的需求的前提下,一小段时间内(若干秒),用于显示的数据从缓存中获取的,而不用直接读取数据库,能有效的减少数据库的读取压力。这里记录一下php语言使用me[详细]
-
php 查看运用了多少内存
所属栏目:[PHP教程] 日期:2022-02-24 热度:188
方法memory_get_usage 是指当前脚本正在使用的内存 unset只是把内存标记为空闲但并没有释放,要GC程序结束后才会释放 $bytes = memory_get_peak_usage(); function formatBytes($bytes, $precision = 2) { $units = array(b, kb, mb, gb, tb); $bytes = ma[详细]
-
PHP访问数据缓存解决
所属栏目:[PHP教程] 日期:2022-02-24 热度:91
本文讲述的是PHP访问数据缓存处理,利用Redis或Memcache作为MySQL的缓存,采用是ThinkPHP框架。 方法一 采用ThinkPHP的S方法: $savedata[uid]=session(uid); $savedata[ip]=$_SERVER[REMOTE_ADDR]; $savedata[url]=$_SERVER[REQUEST_URI]; $savedata[crea[详细]
-
怎样用PHP实现队列算法
所属栏目:[PHP教程] 日期:2022-02-24 热度:87
本篇文章主要讲述的是用PHP实现队列算法,具有一定的参考价值,有需要的朋友可以了解一下。 队列是一种特殊的线性表,它只允许在表的前端,可以称之为front,进行删除操作;而在表的后端,可以称之为rear进行插入操作。队列和堆栈一样,是一种操作受限制的[详细]
-
用PHP和XML联手进行网站开发
所属栏目:[PHP教程] 日期:2022-02-24 热度:156
一、小序 HTML简单易学又通用,一般的PHP程序就是嵌入在HTML语言之中实现的。但是随着WEB越来越广泛的应用,HTML的弱点也越来越明显了。XML的出现,弥补了这些不足,它提供了一个能够处理互联网上全部数据的通用方法。 二、HTML的局限性分析 1、 HTML的可[详细]
-
PHP下一代的五个framework说明
所属栏目:[PHP教程] 日期:2022-02-24 热度:72
随便编写php的日子将远去了。下面有5个下一代的php框架。每个框架都为php下一步发展做了高深设计,许多都应和Ruby on Rails,快速开发动态语言,更有甚者, php on trax 直指 Ruby on Rails。如下面所列的frameworks,我学习了 AGAVI 就像 Symfony 一样轻[详细]
-
用php完成简单的滑动菜单
所属栏目:[PHP教程] 日期:2022-02-24 热度:188
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 热度:99
漏洞公告在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 热度:62
php中的闭包的使用场景有:在动态调用静态类时,在callback函数中使用,赋值给一个普通的变量,使用use从父域中继承以及传递参数时 闭包函数 匿名函数,也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数。最经常用作回调函数(callback)参[详细]
-
php完成监听事件
所属栏目:[PHP教程] 日期:2022-02-24 热度:134
本文介绍关于在php实现事件监听与触发实例程序代码,如何实现事件监听,参考了jQuery的事件绑定思路,简单的实现了一下。 主要功能: 1.绑定事件 支持一个事件绑定多个动作,支持绑定一次性事件 2.触发事件 3.注销事件 代码如下: class Event { protected s[详细]
-
php怎样防范xss
所属栏目:[PHP教程] 日期:2022-02-24 热度:175
php防范xss的方法有在输出html时,加上Content Security Policy的Http Header;在设置Cookie时,加上HttpOnly参数;检验请求的Referer参数 php防范xss 1、PHP直接输出html的,可以采用以下的方法进行过滤: htmlspecialchars函数 htmlentities函数 HTMLPur[详细]
-
PHP使用Redis的GEO 地理位置 指令
所属栏目:[PHP教程] 日期:2022-02-24 热度:160
Redis自3.2版本开始新增对GEO(地理位置)的支持,但是地球不是一个完美的球体,在最坏的情况下的偏差可能是0.5%。接近两极的区域是不支持的,支持坐标的有效的经度从-180度到180度;有效的纬度从-85.05112878度到85.05112878度,超出范围将会报错。 我喜欢[详细]
-
运用PHP编程防范XSS跨站脚本攻击
所属栏目:[PHP教程] 日期:2022-02-24 热度:181
国内不少论坛都存在跨站脚本漏洞,国外也很多这样的例子,甚至Google也出现过,不过在12月初时修正了。(编者注:关于跨站脚本漏洞攻击,读者可参阅《详解XSS跨站脚本攻击》)。跨站攻击很容易就可以构造,而且非常隐蔽,不易被查觉(通常盗取信息后马上跳转[详细]
-
PHP中的clone和new性能对比
所属栏目:[PHP教程] 日期:2022-02-24 热度:91
clone和new本不应该放在一起比较,它们的作用是不同的。但可能有一些场景下,可以用clone也可以用new,那么这时候我们选哪个呢? 我编写了两个测试,第一个是声明一个空类,第二个是带构造方法、属性的类。另外,我还加入了 PHP 序列化的测试。 国际惯例,[详细]
-
PHP完成表单提交时去除斜杠的教程
所属栏目:[PHP教程] 日期:2022-02-24 热度:157
本文实例讲述了PHP实现表单提交时去除斜杠的方法,分享给大家供大家参考,具体如下: html head titleHTML 表单/title /head body form action=method=POST 请输入一个字符串: input type=textsize=30name=strvalue= input type=submitname=submitvalue=[详细]
-
PHP函数gzuncompress无法使用的问题解决方法
所属栏目:[PHP教程] 日期:2022-02-24 热度:170
解决过程: 1.gzuncompress函数需要zlib支持才可以正常使用 2.可以使用探针检查当前php版本中是否已经开启了该函数 3.解决方式,额外编译php,安装zlib组件 解决步骤: 1.开发环境为centos6.5 bit php5.3 2.参考代码(不可以直接拿去用,请思考下在执行以下[详细]
-
php foreach循环运用引用注意事项
所属栏目:[PHP教程] 日期:2022-02-24 热度:164
看过PHP相关书籍的都会了解到PHP有个这样的特性:写时复制,所以在用foreach时,需要对数据做修改的时候,都会复制数据,如果数据很大,那么就会带来一定的内存消耗,所以为了避免这种复制操作,就用到了引用,下面就介绍下引用的坑 问题案例: ?php $arr =[详细]
-
php的flush和ob flush无效问题解决方法
所属栏目:[PHP教程] 日期:2022-02-24 热度:70
我的基础环境是nginx1.6.2+php5.3,做一个逐行输出,使用ob_flush时试了N种方法不起作用,比如下面的代码: ?php ob_start(); for(;;) { echo br.......; ob_flush(); flush(); sleep(1); } ? 谷歌了不少的写法都不行,所以问题应该出在了环境配置上而不是[详细]
-
php Function eregi is deprecated 处理方案
所属栏目:[PHP教程] 日期:2022-02-24 热度:57
首先说下ereg()与eregi()的区别: ereg()字符串对比匹配函数,区分字符串大小写; eregi()字符串对比匹配函数,不区分字符串大小写. 这两个函数在php正则里经常会用到,但是由于php5.3以后的版本不再支持此函数,如果使用此函数会报:Function eregi() is de[详细]
-
PHP fwrite换行写入时换行符不起作用的因素
所属栏目:[PHP教程] 日期:2022-02-24 热度:202
php的换行符我们都知道:/n ,回车符:/r,在需要换行时,通常是用/r/n这个组合。但是为什么我们在使用fwrite写入文件时/n换行符不起作用呢。我们先看下面这个例子: ?php $filename = file.txt; $word = 你好!/r/n欢迎来到www.Cuoxin.com; $fh = fopen($f[详细]
-
PHP的imagettftext中文乱码处理方法
所属栏目:[PHP教程] 日期:2022-02-24 热度:59
分析: 1、确认gb库是否正确安装?没有报这个方法不存在。 2、imagettftext()必须utf-8编码,php的整个项目都是utf-8编码,所以不用太多考虑。如果不是,可以mb_convert_encoding()转换; 3、检查字体是否加载正确,写死了字体路径,而且换了多个字体(常[详细]
