201610-21 PHP无限级分类的实现(不使用递归) NEW 1.实现原理2.数据结构3.输出ul列表形式4.输出option列表形式5. 查找某一分类的所有子类6. 查找某一分类的所有父类7. 相关函数8.另一种算法无限级分类在开发中经常使用,例如:部门结构、文章分类。无限级分类的难点在于“输出”和“查询”,例如将文章分类输出为<ul>列表形式;查找分类A下面所有分类包含的文章。1.实现原理第一种方案:使用递归算法,也是使用频率最多的,大部分开源程序也是这么处理,不过一般都只用到四级分类。这种算法的数据库结构设... Read More >
201602-15 PHP获取客户端真正ip地址的算法 NEW 先来看一下php提供给我们客户端IP相关的变量1. $_SERVER['REMOTE_ADDR']; 客户端IP,有可能是用户的IP,也有可能是代理的IP。2. $_SERVER['HTTP_CLIENT_IP']; 代理端的IP,可能存在,可伪造。3. $_SERVER['HTTP_X_FORWARDED_FOR']; 用户是在哪个IP使用的代理,可能存在,可以伪造。那如何获取真正的客户端ip,下面给出可行的算法。<?p... Read More >
201512-14 关于PHP has encountered an Access Violation问题的解决 NEW 关于PHP has encountered an Access Violation(PHP已经遇到了一个访问冲突在xxxx)问题的解决,问题描述:服务器系统为windows2003.先重启一下IIS就能当时解决这个问题,但是后面还会时不时发生PHP has encountered an Access Violation错误。下面是一些解决办法的总结。一、去掉 php中 eaccelerator 的扩展 这样做能够解决您的问题不过可能会加重系统负担 因为eaccelerator... Read More >
201512-05 解释BOM头和去掉的方法 BOM: Byte Order Mark 。UTF-8 BOM又叫UTF-8 签名,其实UTF-8 的BOM对UFT-8没有作用,是为了支援UTF-16,UTF-32才加上的BOM,BOM签名的意思就是告诉编辑器当前文件采用何种编码,方便编辑器识别,但是BOM虽然在编辑器中不显示,但是会产生输出,就像多了一个空行,去掉bom头的办法,简单的是下面两种:1、editplus去BOM头的方法 编辑器调整为UTF8编码格式后,保存的文件前面会多出一串隐藏的字符(也即是BO... Read More >
201511-12 PHP生成HTML网站首页,实现网站首页静态化 <?php$html=file_get_contents("xxxxxx");//写入文件 $fp = fopen('index.html','w'); if(fwrite($fp,$html)){echo "生成成功!";} else{echo "生成失败";}fclose($fp);?>如果你的服务器速度比较慢,生成首页静态化有利于SEO和首页加载。... Read More >
201408-01 过滤html标签的一个函数 function wml_strip($string){$string = str_replace(array(' ', '&', '"', ''', '“', '”', '—', '<', '>', '·', '…', '&'), array(' ', '&'... Read More >
201407-30 jQuery+PHP实现浏览更多内容 基本原理:页面载入时,jQuery向后台请求数据,PHP通过查询数据库将最新的几条记录显示在列表页,在列表页的底部有个“更多”链接,通过触发该链接,向服务端发送Ajax请求,后台PHP程序得到请求参数,并作出相应,获取数据库相应的记录并以JSON的形式返回给前台页面,前台页面jQuery解析JSON数据,并将数据追加到列表页。其实就是Ajax分页效果。XHTML首先要引入jquery库和jquery.more.js插件,jquery.more.js已经将许多功能都封装好了,并... Read More >
201406-27 smarty中限制循环次数 {foreach from=$root item=item name=test} //name=test和 $smarty.foreach.test.iteration 中的test对应{if $smarty.foreach.test.iteration <='3'} //$smarty.foreach.test.iteration取得当前循环的次数并if判断<strong>{$item.name}:</strong>{$item.item}... Read More >
201406-11 smarty中去除html标签的strip_tags()函数 数据库中存储的长文本一般是用可视化编辑器录制进去的,所以写入数据库的文本带有html标签,smarty中有去除html标签的函数strip_tags()函数。例如:{strip_tags("<p>11111111</p>")}实际输出结果是:11111111... Read More >
201402-20 php实现发送邮件 sent_mail.php:˂!--?php require_once ('email.class.php');//##########################################$smtpserver = "smtp.163.com";//SMTP服务器$smtpserverport =25;//SMTP服务器端口$smtpusermail = "xxx@163.com";//SMTP服务器的用户邮箱$smtpemailto = "xxx@qq.com... Read More >