ホームページ > php教程 > php手册 > php スパイダー統計プラグインは、mysql がある限り使用できます。

php スパイダー統計プラグインは、mysql がある限り使用できます。

WBOY
リリース: 2016-06-13 12:13:20
オリジナル
3192 人が閲覧しました

ということで、昨日は本格的にやってみました。機能が増えて、さまざまな検索エンジンで統計分析ができるようになりました。複数の期間にわたって表示できます。実際、コードは非常に単純です。コードは 6k に圧縮されています。
1. インストーラー spilder_install.php

。コードをコピーします コードは次のとおりです:






プラグインのインストール
if($_POST; [ 'act']=='install')// インストールする場合
{
$mysql_host=trim($_POST['mysql_host']);// ホストを取得します
$mysql_user=trim($ _POST ['mysql_user']);// ユーザー名を取得します
$mysql_pwd=trim($_POST['mysql_pwd']);// パスワードを取得します
$mysql_db=trim($_POST['mysql_db'] ); //データベース
$table_prefix=trim($_POST['table_prefix']);//プレフィックスを取得
if($link=mysql_connect($mysql_host,$mysql_user,$mysql_pwd))
{
echo "サーバーへの接続に成功しました!......
";
}
else
{
echo "<script> alert('リンクエラー! データベースサーバーの設定を確認してください!');history.go(-1);</script>";
}
if(mysql_select_db($mysql_db,$link))
{
echo "データベースに正常に接続しました!......
テーブルを作成しています....< br>";
}
$sql="CREATE TABLE `spilder_sp_count` (
`id` bigint(20) NOT NULL auto_increment,
`r_time` int(11) NOT NULL,
`r_name` varchar(50) NOT NULL、
`r_url` varchar(200) NOT NULL、
主キー (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=gb2312 AUTO_INCREMENT=4 ;
mysql_query("DROP TABLE IF EXISTS `".$table_prefix."sp_count`;");// 既存の
$sql=str_replace("spilder_",$table_prefix,$sql) ;// プレフィックスを置換
if(mysql_query($sql))
{
echo "テーブルが正常に作成されました。ファイルの書き込み";
}
$f=file_get_contents("spilder_config.php");// 設定内容を取得
$f=str_replace(" ","",$f);// スペースを削除
$f=preg_replace("/mysql_host=.*;/iUs","mysql_host='{$mysql_host}';",$f);
$f=preg_replace("/mysql_user=. *; /iUs","mysql_user='{$mysql_user}';",$f);
$f=preg_replace("/mysql_pwd=.*;/iUs","mysql_pwd='{$mysql_pwd}' ;" ,$f);
$f=preg_replace("/mysql_db=.*;/iUs","mysql_db='{$mysql_db}';",$f); table_prefix=.*;/iUs","table_prefix='{$table_prefix}';",$f);
$f=preg_replace("/sp_admin=.*;/iUs","sp_admin=' {$ sp_admin}';",$f);
file_put_contents("spilder_config.php",$f);
file_put_contents("isinstall.txt","OK");
echo "おめでとうございます! Jianli スパイダー統計プログラムは正常にインストールされましたView";
exit();
}
?>
< body>


;

<フォームメソッド="post">
<テーブル幅="600" 整列=センター" cellpacing="0">



;<入力名= mysql_host" type="text" id="mysql_host" value="localhost" />
(通常は変更する必要はありません)




;<入力タイプ= "password" name="mysql_pwd" id="mysql_pwd" />









< ;/table> >



2. Spider レコード ファイル

コードをコピーします コードは次のとおりです:


require(" spilder_config.php");//設定ファイルの呼び出し
$link=mysql_connect($mysql_host,$mysql_user,$mysql_pwd) または die("Server connection error");//データベースのリンク
mysql_select_db($mysql_db, $link) または die('データベース接続エラー');
$searchbot = get_naps_bot();
if($searchbot)
{
date_default_timezone_set('PRC'); //デフォルトのタイムゾーンを設定します
$r_time=strtotime(date("Y-m-d H:i:s"));//最終更新時刻
$ServerName = $_SERVER["SERVER_NAME"]
; $ServerPort = $_SERVER[" SERVER_PORT"] ;
$ScriptName = $_SERVER["SCRIPT_NAME"]
$QueryString = $_SERVER["QUERY_STRING"] ; ".$ServerName ;
If ($ServerPort != "80")
{
$url = $url.":".$ServerPort ;
}
$url=$url .$ScriptName ;
If ($QueryString !="")
{
$url=$url."?".$QueryString ;
}
//$url="http ://".$_SERVER ['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$GLOBALS['db']->db_query("insert into {$table_prefix}sp_count(r_time,r_name,r_url) ) value('$r_time' ,'$searchbot','$url')");
}
function get_naps_bot()
{
$useragent = strto lower($_SERVER['HTTP_USER_AGENT' ]);
if (strpos($useragent, 'googlebot') !== false){
return 'Googlebot';
}elseif (strpos($useragent, 'msnbot') !== false ){
return ' MSNbot';
}elseif (strpos($useragent, 'slurp') !== false){
return 'Yahoobot';
}elseif (strpos($useragent, 'baiduspider') !== false){
return 'Baiduspider';
}elseif (strpos($useragent, 'sogou') !== false){
return 'Sogoubot'; }elseif (strpos($useragent ,'soso') !== false){
return 'Sosobot';
}elseif(strpos($useragent,'youdao')!==false)
{
return 'Youdao' ;
}
else
{
return false;


3 . Spider 統計ビュー ファイル


コードをコピー

コードは次のとおりです:


session_start();
require("spilder_config.php");
if($_GET['act']=='logout'); {
$_SESSION['ss_sp_admin']='';//クリア
}
if($_GET['sp_admin_login'])
{
if($_GET['sp_admin_login' ]==$sp_admin)
{
$_SESSION['ss_sp_admin']=$sp_admin;
}
}
date_default_timezone_set('PRC'); // デフォルトのタイムゾーンを設定します。 🎜> $day_start=strtotime(date("Ymd")."000001");//その日の開始時刻
$day_out=strtotime(date("Ymd")."235959");//その日の終了時刻
$day=3600*24;//時刻
$link=mysql_connect($mysql_host,$mysql_user,$mysql_pwd) または die("サーバー接続エラー"); mysql_select_db($mysql_db,$ link) または die('データベースのリンクエラー');//データベースに接続
if($_GET['act']=='del')
{
if($ _SESSION['ss_sp_admin'] <>'')
{
if($_GET['dt']==0)//クリア
{
mysql_query("{$ から削除table_prefix}sp_count ");
}
$d_time=0;
if($_GET['dt']==1)//30 日前を削除
{
$d_time= $day_out-$day* 30;
}elseif($_GET['dt']==2)//60 日前を削除
{
$d_time=$day_out-$day*60; 🎜>}elseif($ _GET['dt']==3)//90 日前を削除
{
$d_time=$day_out-$day*90;
}elseif($_GET[' dt']==4 )// 180 日前を削除
{
$d_time=$day_out-$day*180
}elseif($_GET['dt']==5)// 360 日前を削除
{
$d_time=$day_out-$day*360;
if($d_time>0)
{
mysql_query("から削除{$table_prefix}sp_count where r_time< '$d_time'");//データを削除
}
}
}
$ss=intval($_GET['ss']);
if($ss>0) //カテゴリ統計を表示
{
if($ss==999)//カテゴリをクリア
{
$_SESSION['ss_ss']='';
}else
{
$_SESSION['ss_ss']=$ss;
}
}
$ss=$_SESSION['ss_ss'];
if( $ss==1)
{
$ss='Baiduspider'
}elseif($ss==2)
{
$ss='Googlebot'; elseif($ss==3)
{
$ss="MSNbot"
}elseif($ss==4)
{
$ss="Yahoobot"; >}elseif($ss== 5)
{
$ss="ソゴボット";
}elseif($ss==6)
{
$ss="ソゴボット";
}elseif($ss ==7)
{
$ss=7;
}
$t=intval($_GET['t']);//時間分類を表示統計
if($t ==0)//時間状況
{
if(empty($_SESSION['ss_ss']))
{
$sql =" select * from {$table_prefix}sp_count order by id desc ";//最新状況
$sql2="select count(*) from {$table_prefix}sp_count ";
}else
{
$sql= "select * from {$table_prefix} sp_count where r_name='$ss' order by id desc ";
$sql2="select count(*) from {$table_prefix} sp_count where r_name='$ss' "; 🎜>}
$rscount =mysql_query($sql2);
$rscount=@mysql_fetch_array($rscount);
$rscount=$rscount[0];// レコードの総数を取得します
$page=intval(trim($_GET ['page']));//現在のページ番号
$pagesize=30;//ページあたりのレコード数
$pagecount=ceil($rscount/$ pagesize);// 総ページ数を取得します
$pageurl="";
if($page<=1)
{
$page=1; " ホームページの前のページ";
}else
{
$pageurl .=" ホームページ ;a href='?ss=".$ss ."&page=".($page-1)."'>前のページ";
}
if($page>= $pagecount)
{
$page=$pagecount;
$pageurl .=" 次のページ 最後のページ"
}else
{
$pageurl .=" 次のページ ";
if($page<=1)
{
$page=1; $start_rs=intval(( $page-1)*$pagesize);//開始
$end_rs=intval($page*$pagesize);//終了
$sql .= 制限 {$start_rs} ,{$end_rs} " ;
}
if($t==1)//今日の統計を表示
{
$s_time=$day_start;// 開始時刻
$e_time= $day_out;// 終了時刻
$sql="select count(*) as ct,r_name from {$table_prefix}sp_count where r_time between '$s_time' と '$e_time' group by r_name "; elseif($t= =2)//昨日の統計を表示
{
$s_time=$day_start-$day;//開始
$e_time=$day_out-$day;//終了
$sql="select count(*) as ct,r_name from {$table_prefix}sp_count where r_time between '$s_time' と '$e_time' group by r_name ";elseif($t==3)//前日の統計を表示します
{
$s_time=$day_start-$day*2
$e_time=$day_out-$day*2; ) as ct,r_name from { $table_prefix}sp_count where r_time between '$s_time' と '$e_time' group by r_name";
}elseif($t==4)//7 日間の統計を表示
{
$s_time=$ day_start-$day*7;
$e_time=$day_out;
$sql="select count(*) as ct,r_name from {$table_prefix}sp_count where r_time between $s_time' と '$e_time' は r_name でグループ化されます ";
}
elseif($t==5)//30 日間表示
{
$s_time=$day_start-$day*30 ;
$e_time= $day_out;
$sql="{$table_prefix}sp_count から count(*) を選択します。ここで、'$s_time' と '$e_time' の間の r_time を r_name でグループ化します。 🎜>}elseif($t ==6)//90 日間の統計を表示します
{
$s_time=$day_start-$day*90;
$e_time=$day_out; ="{$table_prefix} から ct,r_name として count(*) を選択sp_count where r_time between '$s_time' と '$e_time' group by r_name ";
}
$res=mysql_query($sql);// or die("请先安装程序
インストール");
?>



显示クモ记录情况


<表の幅="800" border="0" align="center" cellpacing="1" bgcolor="#CCCCCC" style="margin-bottom:6px;"> ;




推奨のスパイダー統計ビューア
インストール開始
ユーザー名: < /td>
:
テーブル接頭辞:

パスワードの管理:

;

荐礼啦クモ查看器


< ;テーブル幅="800" 境界="0" align="center" セル間隔="1" bgcolor="#CCCCCC">
分类查看

すべて
百度
谷歌
必应
雅虎< ;/a> 
搜狗  
搜搜 
有道
 
時間  
今天 
昨天 
前天 
七天 
30日 
90天 



if($_SESSION['ss_sp_admin']==$sp_admin)
{
?>





管理 退出   
清空  
30天前  
60天前  
90天前   
180天前  
360 天前

}
?> ;
if($t==0)
{
?>






while($rs=mysql_fetch_array($res))
{
?>




}
?>
クモ 時間 地址
;




}else{
?> 0" align="center" cellpacing="1" bgcolor="#CCCCCC" style="margin-top:6px;">



while($rs=mysql_fetch_array($res))
{
?> ="center" bgcolor="#FFFFFF">


}
?>
クモ 统计
;

}
?>




友情链接:荐礼啦 爱我爸妈 黑客帝国





ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート