-专注于互联网、网络技术、网络工程、网络营销SEO、搜索引擎、社会化网络、IT技术、网络编程、网络安全、服务器管理、网站开发、移动互联网软件应用等领域的原创IT科技博客,欢迎喜欢互联网的朋友一起交流!

PHP无限级分类的实现(不使用递归)

1.实现原理 2.数据结构 3.输出ul列表形式 4.输出option列表形式 5. 查找某一分类的所有子类 6. 查找某一分类的所有父类 7. 相关函数 8.另一种算法 无限级分类在开发中经常使用,例如:部门结构、文章分类。无限级分类的难点在于“输出”和“查询

 

PHP获取客户端真正ip地址的算法

先来看一下php提供给我们客户端IP相关的变量1. $_SERVER['REMOTE_ADDR']; 客户端IP,有可能是用户的IP,也有可能是代理的IP。2. $_SERVER['HTTP_CLIENT_IP']; 代理端的IP,可能存在,可伪造。3. $_SERVER['HTTP_X_FORWARDED_FOR']; 用户是在哪个IP使用的代理,可能存在,可以伪造。那如何获取真正的客户端ip,下面给出可行的算法。

关于PHP has encountered an Access Violation问题的解决

关于PHP has encountered an Access Violation(PHP已经遇到了一个访问冲突在xxxx)问题的解决,问题描述:服务器系统为windows2003.先重启一下IIS就能当时解决这个问题,但是后面还会时不时发生PHP has encountered an Access Violation错误。下面是一些解决办法的总结。

解释BOM头和去掉的方法

BOM: Byte Order Mark 。UTF-8 BOM又叫UTF-8 签名,其实UTF-8 的BOM对UFT-8没有作用,是为了支援UTF-16,UTF-32才加上的BOM,BOM签名的意思就是告诉编辑器当前文件采用何种编码,方便编辑器识别,但是BOM虽然在编辑器中不显示,但是会产生输出,就像多了一个空行,

PHP生成HTML网站首页,实现网站首页静态化

如果你的服务器速度比较慢,生成首页静态化有利于SEO和首页加载。<?php$html=file_get_contents("xxxxxx");//写入文件 $fp = fopen('index.html','w'); 

php截取文本函数和去除html格式函数

function wml_strip($string) //去除格式,可以选择保留哪些标签
{
$string = str_replace(array('&nbsp;', '&amp;', '&quot;', '&#039;', '&ldquo;', '&rdquo;', '&mdash;', '&lt;', '&gt;', '&middot;', '&hellip;', '&'), array(' ', '&', '"', "'", '', '', '', '{<}', '{>}', '', '', '&amp;'), strip_tags($string,'<img><br><object><embed><p><div>'));
return str_replace(array('{<}', '{>}'), array('&lt;', '&gt;'), $string);
}

function sysSubStr($string,$length,$append = false)  //字符串截取,支持中文
{
if(strlen($string) <= $length )
{
return $string;
}
else
{
$i = 0;
while ($i < $length)
{
$stringTMP = substr($string,$i,1);
if ( ord($stringTMP) >=224 )
{
$stringTMP = substr($string,$i,3);
$i = $i + 3;
}
elseif( ord($stringTMP) >=192 )
{
$stringTMP = substr($string,$i,2);
$i = $i + 2;
}
else
{
$i = $i + 1;
}
$stringLast[] = $stringTMP;
}
$stringLast = implode("",$stringLast);
if($append)
{
$stringLast .= "...";
}
return $stringLast;
}
}

PHP获取访客信息类

<?php  

/**   

 * 获取访客信息的类:语言、浏览器、操作系统、IP、地理位置、ISP。 

 * 使用: 

 *      $obj = new class_guest_info; 

 *      $obj->GetLang();        //获取访客语言:简体中文、繁體中文、English。 

 *      $obj->GetBrowser();     //获取访客浏览器:MSIE、Firefox、Chrome、Safari、Opera、Other。 

 *      $obj->GetOS();          //获取访客操作系统:Windows、MAC、Linux、Unix、BSD、Other。 

 *      $obj->GetIP();          //获取访客IP地址。 

 *      $obj->GetAdd();         //获取访客地理位置,使用 Baidu 隐藏接口。 

 *      $obj->GetIsp();         //获取访客ISP,使用 Baidu 隐藏接口。 

 */

class class_guest_info{  

    function GetLang() {  

        $Lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4);  

        //使用substr()截取字符串,从 0 位开始,截取4个字符  

        if (preg_match('/zh-c/i',$Lang)) {  

        //preg_match()正则表达式匹配函数  

            $Lang = '简体中文';  

        }  

        elseif (preg_match('/zh/i',$Lang)) {  

            $Lang = '繁體中文';  

        }  

        else {  

            $Lang = 'English';  

        }  

        return $Lang;  

    }  

    function GetBrowser() {  

        $Browser = $_SERVER['HTTP_USER_AGENT'];  

        if (preg_match('/MSIE/i',$Browser)) {  

            $Browser = 'MSIE';  

        }  

        elseif (preg_match('/Firefox/i',$Browser)) {  

            $Browser = 'Firefox';  

        }  

        elseif (preg_match('/Chrome/i',$Browser)) {  

            $Browser = 'Chrome';  

        }  

        elseif (preg_match('/Safari/i',$Browser)) {  

            $Browser = 'Safari';  

        }  

        elseif (preg_match('/Opera/i',$Browser)) {  

            $Browser = 'Opera';  

        }  

        else {  

            $Browser = 'Other';  

        }  

        return $Browser;  

    }  

    function GetOS() {  

        $OS = $_SERVER['HTTP_USER_AGENT'];  

        if (preg_match('/win/i',$OS)) {  

            $OS = 'Windows';  

        }  

过滤html标签的一个函数

function wml_strip($string)
{
$string = str_replace(array('&nbsp;', '&amp;', '&quot;', '&#039;', '&ldquo;', '&rdquo;', '&mdash;', '&lt;', '&gt;', '&middot;', '&hellip;', '&'), array(' ', '&', '"', "'", '', '', '', '{<}', '{>}', '', '', '&amp;'), strip_tags($string,'<img><br><object><embed>')); //指定不过滤的标签
return str_replace(array('{<}', '{>}'), array('&lt;', '&gt;'), $string);
}

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}<br> //循环的变量

{/if} //结束判断

{/foreach}// 结束循环

以上结果是只循环前三次循环得到的变量的值

smarty中去除html标签的strip_tags()函数

数据库中存储的长文本一般是用可视化编辑器录制进去的,所以写入数据库的文本带有html标签,smarty中有去除html标签的函数strip_tags()函数。

例如:{strip_tags("<p>11111111</p>")}

实际输出结果是:11111111
«123»
搜索
网站分类
最近发表
文章归档

技术支持TTF的家园

Copyright www.ttfde.org. All Rights Reserved.站点统计 Design by TTF的家园