当前位置: 编程技术>php
本页文章导读:
▪php 判断访问来源是否手机并自动跳转的代码 以下二种方法,均可以实现判断访问者的终端来源,是手机还是普通网页,然后做跳转。
方法一:
<?php
$ua = strtolower($_SERVER['HTTP_USER_AGENT']);
$uachar = "/(nokia|sony|ericsson|mot|samsung|sgh|lg|philips|p.........
▪php获取各搜索蜘蛛爬行记录的代码 支持如下的搜索引擎:Baidu,Google,Bing,Yahoo,Soso,Sogou,Yodao爬行网站的记录!
代码:
<?php
/**
* 获取搜索引擎爬行记录
* edit by www.
*/
function get_naps_bot()
{
$useragent = strtolower($_SERVER['HTTP_USER_AGE.........
▪php搜索并显示关键字的例子 代码如下:
代码示例:
<?php
/**
* 搜索并显示关键字,红色字体
* edit by www.
*/
require_once 'db.class.php';//封装类,可执行dql、dml语句
$info=$_POST['info'];
$sql="select name,password,email from user_50.........
[1]php 判断访问来源是否手机并自动跳转的代码
来源: 互联网 发布时间: 2013-12-24
以下二种方法,均可以实现判断访问者的终端来源,是手机还是普通网页,然后做跳转。
方法一:
<?php $ua = strtolower($_SERVER['HTTP_USER_AGENT']); $uachar = "/(nokia|sony|ericsson|mot|samsung|sgh|lg|philips|panasonic| alcatel|lenovo|cldc|midp|mobile)/i"; if(($ua == '' || preg_match($uachar, $ua))&& !strpos(strtolower($_SERVER['REQUEST_URI']),'wap')) { $Loaction = 'mobile/'; if (!empty($Loaction)) { header("Location: $Loaction\n"); exit; } } ?>
方法二:
<?php $is_wap = 0; if(strpos($_SERVER['HTTP_VIA'],"wap")>0){$is_wap = 1;} elseif(strpos(strtoupper($_SERVER['HTTP_ACCEPT']),"VND.WAP") > 0 || strpos(strtoupper($_SERVER['HTTP_ACCEPT']),"UC/") > 0){ $is_wap = 1;} else { $iUSER_AGENT=strtoupper(trim($_SERVER['HTTP_USER_AGENT'])); if(strpos($iUSER_AGENT,"NOKIA")>0 || strpos($iUSER_AGENT,"WAP")>0 || strpos($iUSER_AGENT,"MIDP")>0 || strpos($iUSER_AGENT,"UCWEB")>0 )$is_wap == 1; } if($is_wap==1){header('Location:wap/index.php');exit; } ?>
有兴趣的朋友,两种方法都试试,看看哪个正能准确获取访问者的来源。
[2]php获取各搜索蜘蛛爬行记录的代码
来源: 互联网 发布时间: 2013-12-24
支持如下的搜索引擎:Baidu,Google,Bing,Yahoo,Soso,Sogou,Yodao爬行网站的记录!
代码:
<?php /** * 获取搜索引擎爬行记录 * edit by www. */ function get_naps_bot() { $useragent = strtolower($_SERVER['HTTP_USER_AGENT']); if (strpos($useragent, 'googlebot') !== false){ return 'Google'; } if (strpos($useragent, 'baiduspider') !== false){ return 'Baidu'; } if (strpos($useragent, 'msnbot') !== false){ return 'Bing'; } if (strpos($useragent, 'slurp') !== false){ return 'Yahoo'; } if (strpos($useragent, 'sosospider') !== false){ return 'Soso'; } if (strpos($useragent, 'sogou spider') !== false){ return 'Sogou'; } if (strpos($useragent, 'yodaobot') !== false){ return 'Yodao'; } return false; } function nowtime(){ $date=date("Y-m-d.G:i:s"); return $date; } $searchbot = get_naps_bot(); if ($searchbot) { $tlc_thispage = addslashes($_SERVER['HTTP_USER_AGENT']); $url=$_SERVER['HTTP_REFERER']; $file="www..txt"; $time=nowtime(); $data=fopen($file,"a"); fwrite($data,"Time:$time robot:$searchbot URL:$tlc_thispage\n"); fclose($data); } ?>
[3]php搜索并显示关键字的例子
来源: 互联网 发布时间: 2013-12-24
代码如下:
代码示例:
<?php
/**
* 搜索并显示关键字,红色字体
* edit by www.
*/
require_once 'db.class.php';//封装类,可执行dql、dml语句
$info=$_POST['info'];
$sql="select name,password,email from user_500 where name like '%$info%' or password like '%$info%' or email like '%$info%'";
$sqlTools=new SqlTools();
$res=$sqlTools->execute_dql($sql);
while ($row=mysql_fetch_assoc($res)){
$row['name']=preg_replace("/($info)/i","<b color:red\">\\1</b>",$row['name']);
$row['password']=preg_replace("/($info)/i","<b color:red\">\\1</b>",$row['password']);
$row['email']=preg_replace("/($info)/i","<b color:red\">\\1</b>",$row['email']);
echo $row['name']."-->".$row['password']."-->".$row['email']."<br>";
}
?>
/**
* 搜索并显示关键字,红色字体
* edit by www.
*/
require_once 'db.class.php';//封装类,可执行dql、dml语句
$info=$_POST['info'];
$sql="select name,password,email from user_500 where name like '%$info%' or password like '%$info%' or email like '%$info%'";
$sqlTools=new SqlTools();
$res=$sqlTools->execute_dql($sql);
while ($row=mysql_fetch_assoc($res)){
$row['name']=preg_replace("/($info)/i","<b color:red\">\\1</b>",$row['name']);
$row['password']=preg_replace("/($info)/i","<b color:red\">\\1</b>",$row['password']);
$row['email']=preg_replace("/($info)/i","<b color:red\">\\1</b>",$row['email']);
echo $row['name']."-->".$row['password']."-->".$row['email']."<br>";
}
?>
思路分析:
将sql语句中包含的%$info%交给DBMS执行时,查找字段中含有变量$info的值的信息,
%$info--->查找以$info的值结束的信息
$info%--->查找以$info的值开头的信息
通过正则函数preg_replace()将搜索到的关键字高亮显示,比如,
$row['name']=preg_replace("/($info)/i","<b color:red\">\\1</b>",$row['name']);
意思是:通过POST方接收到的值$info替换为加上样式(红色加粗)的结果,并将结果重新赋给$row[‘name']
如果要搜索多个关键字的话,可以对接收到值$info进行分割,比如$info_more=explode(" ",$info);//这种方式能对以空格隔开的关键字进行分割,再对分割后的结果挨个进行查询,同样,可以使用正则表达式函数进行替换工作,以高亮显示关键字。
附,db.class.php的源代码:
代码示例:
<?php
/**
* 数据库操作类
* edit by www.
*/
class SqlTools{
private $host="localhost";
private $dbname="test";
private $dbuser="root";
private $dbpwd="";
private $conn;
public function __construct(){
$this->conn=mysql_connect($this->host,$this->dbuser,$this->dbpwd);
if(!$this->conn){
die("连接数据库失败".mysql_error());
}
mysql_select_db($this->dbname,$this->conn) or die("找不到该数据库".mysql_error());
mysql_query("set names utf8");
}
public function execute_dml($sql){
$bool=mysql_query($sql);
if ($bool){
if ($bool>0) {
return 1;
}else{
return 2;
}
}else {
return 0;
}
}
public function execute_dql($sql){
$res=mysql_query($sql);
return $res;
}
public function close_conn(){
mysql_close($this->conn);
}
}
?>
/**
* 数据库操作类
* edit by www.
*/
class SqlTools{
private $host="localhost";
private $dbname="test";
private $dbuser="root";
private $dbpwd="";
private $conn;
public function __construct(){
$this->conn=mysql_connect($this->host,$this->dbuser,$this->dbpwd);
if(!$this->conn){
die("连接数据库失败".mysql_error());
}
mysql_select_db($this->dbname,$this->conn) or die("找不到该数据库".mysql_error());
mysql_query("set names utf8");
}
public function execute_dml($sql){
$bool=mysql_query($sql);
if ($bool){
if ($bool>0) {
return 1;
}else{
return 2;
}
}else {
return 0;
}
}
public function execute_dql($sql){
$res=mysql_query($sql);
return $res;
}
public function close_conn(){
mysql_close($this->conn);
}
}
?>
最新技术文章: