分类 php 下的文章

php屏蔽地区代码-(可按时间屏蔽)

header("Content-Type:text/html;charset=utf-8");
$agent = strtolower($_SERVER['HTTP_USER_AGENT']); //echo "";
$is_gt_dev = (stripos($agent, 'GT_DEV')) ? true : false;

/**

  • 获取用户真实 IP
    */
    function getIP(){
    static $realip;
    if (isset($_SERVER)){
    if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
    $realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
    } else if (isset($_SERVER["HTTP_CLIENT_IP"])) {
    $realip = $_SERVER["HTTP_CLIENT_IP"];
    } else {
    $realip = $_SERVER["REMOTE_ADDR"];
    }
    }else {
    if (getenv("HTTP_X_FORWARDED_FOR")){
    $realip = getenv("HTTP_X_FORWARDED_FOR");
    } else if (getenv("HTTP_CLIENT_IP")) {
    $realip = getenv("HTTP_CLIENT_IP");
    } else {
    $realip = getenv("REMOTE_ADDR");
    }
    }
    return $realip;
    }

/**

  • 获取 IP 地理位置
  • 淘宝IP接口
  • @Return: array
    */
    function getCity($ip)
    {
    global $is_gt_dev;
    $time = date('H',time()); //获取服务器时间
    $tsip=$ip;
    $url="http://ip.taobao.com/service/getIpInfo.php?ip=".$ip;
    $ip=json_decode(file_get_contents($url));
    if((string)$ip->code=='1')
    {
    return false;
    }
    $data = (array)$ip->data;
    if($tsip=="61.148.28.230"||$tsip=="124.200.96.186"||$tsip=="123.166.152.224"){
    echo "window.location.href='/404.html';"; //跳转404页面
    }
    //判断是否是北京地区
    if(strstr($data['city'],"北京"))
    {
    if($time <='17' ){
    if(!$is_gt_dev)
    {
    echo "window.location.href='/404.html';";
    }
    }
    }
    }

/*

  • 获取 IP 地理位置
  • 新浪IP接口
  • @Return: 地区

function getcity2($ip){
global $is_gt_dev;
$time = date('H',time()); //获取服务器时间
$tsip=$ip;
$str = file_get_contents("http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip=".$ip);
//转换字符集
$str = iconv("gbk", "utf-8//IGNORE", $str);
//匹配结果
preg_match_all('/[\x{4e00}-\x{9fa5}]+/u',$str,$get);
//将数组转换成字符串
$add = implode($get[

  • 获取 IP 地理位置
  • 百度IP接口 每日限制100W条
  • @Return: 地区

function getCity3($ip)
{
$url1="http://api.map.baidu.com/location/ip?ak=aCTpLvSGYIzGZwsWCwkcNqxH&ip=".$ip;
$ip=json_decode(file_get_contents($url1));
$ip2 = (array)$ip;
//判断是否是北京地区
if(stripos($ip2['address'],"北京"))
{
echo "window.location.href='/404.html';"; //跳转404页面
}

}

*/

$ip = getIP();
getcity($ip);

dedecms怎么在首页实现会员登录功能

     大家可能跟我一样经常用织梦建站,在用织梦建站的过程中经常会遇到在首页显示会员登录的功能。分为未登录的时候的状态。还有登录后的状态。

51模板集给大家分享简单的登录JS代码:下面教你dedecms如何在首页实现会员登录功能

   第一步:新建一个login.php文件放到plus的文件夹里面。

  下面是login.php的代码内容:

<?php

/*

* 简易登录JS ,51模板

*/

require_once(dirname(__FILE__)."/../member/config.php");

global $cfg_ml;

$mid=$cfg_ml->M_ID;

if(!$mid){

$html = "<span><a href='{$cfg_memberurl}/index_do.php?fmdo=user&dopost=regnew'> 免费注册</a></span>";

$html.= "<span><a href='{$cfg_memberurl}/'> 登录</a></span>";

}else{

$html = "<span><a href='{$cfg_memberurl}/index.php?uid={$cfg_ml->fields['userid']}'> {$cfg_ml->M_UserName}</a></span>";

$html.= "<span><a href='{$cfg_memberurl}/'> 控制面板</a></span>";

}

?>

document.write("<?php echo $html;?>");

第二步:在首页的模板里面加入引用代码:

代码如下:<script type="text/javascript" src="{dede:global.phpurl /}/login.php"></script>

哪个页面需要调用登录的时候都可以放入这个代码,dedecms如何在首页实现会员登录功能已经归纳完毕了。

php 过滤英文标点符号及过滤中文标点符号代码

$keyword="好‘。,好学习PHP!!!";
$keyword=urlencode($keyword);//将关键字编码
$keyword=preg_replace("/(%7E|%60|%21|%40|%23|%24|%25|%5E|%26|%27|%2A|%28|%29|%2B|%7C|%5C|%3D|\-|_|%5B|%5D|%7D|%7B|%3B|%22|%3A|%3F|%3E|%3C|%2C|\.|%2F|%A3%BF|%A1%B7|%A1%B6|%A1%A2|%A1%A3|%A3%AC|%7D|%A1%B0|%A3%BA|%A3%BB|%A1%AE|%A1%AF|%A1%B1|%A3%FC|%A3%BD|%A1%AA|%A3%A9|%A3%A8|%A1%AD|%A3%A4|%A1%A4|%A3%A1|%E3%80%82|%EF%BC%81|%EF%BC%8C|%EF%BC%9B|%EF%BC%9F|%EF%BC%9A|%E3%80%81|%E2%80%A6%E2%80%A6|%E2%80%9D|%E2%80%9C|%E2%80%98|%E2%80%99)+/",'',$keyword);
$keyword=urldecode($keyword);//将过滤后的关键字解码
echo $keyword;

修改dede源码,让dede:channelartlist排除指定typeid

找到 \include\taglib\channelartlist.lib.php, 查找 $attlist


$attlist = 'typeid|0,row|20,cacheid|';
修改为:
$attlist = 'typeid|0,row|20,cacheid|,notypeid|0'; [此处添加了一个所要排除typeid的参数---notypeid]

查找:
$dsql->SetQuery("Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath from #@__arctype where $tpsql order by sortrank asc limit $totalnum");

在其前面添加(注意是在前面添加):

//否定指定ID
if($notypeid!=0) {
$tpsql = $tpsql."and not(id in($notypeid)) ";
}

模板调用:
{dede:channelartlist typeid ='114' notypeid='123,124,125,126,127,128'}
其中notypeid='123,124,125,126,127,128' 中的 123,124,125,126,127,128 为114的子栏目

来自:http://my.oschina.net/lyx2012/blog/55880