php訪客代碼
㈠ php訪客計數器怎麼做
用PHP讀寫文本文檔製作最簡單的訪問計數器<?phpfunction get_hit($counter_file)//定義函數,內容用{}括起來,學過編程的人應該看出來了,跟C語言有點相似{$count=0;//將計數器歸零,Php里的變數前面加上$號 if(file_exists($counter_file))//如果計數器文件存在,讀取其中的內容{$fp=fopen($counter_file,"r");//r是read的縮寫,代表讀取的意思,以只讀方式打開文件$count=0+fgets($fp,20);/*讀取前20位數賦值給count變數,由於fgets()函數讀取的是字元串,所以需要在前面+0來轉換為整數,這一點跟ASP就不同了,ASP中字元串可以直接跟整型進行運算,而不用轉換。*/fclose($fp);//關閉文件}$count++;//增加計數,這一點跟C就非常相似了$fp=fopen($counter_file,"w");//w是write的縮寫,代表寫入的意思,以寫入的方式打開文件fputs($fp,$count);//輸出計數值到文件fclose($fp);return($count);//返回計數值}?> <?php$hit=get_hit("counter.txt");//調用剛才定義的函數處理counter.txt文檔,並把結果賦值給hit變數。echo "您是第<b>"."$hit"."</b>位訪客!";//輸出結果。PHP與ASP的區別在於:ASP的連字元是「&」,而Php的連字元是「.」。
㈡ PHP 根據IP地址控制訪問的代碼
假設有
IP
地址范圍
192.168.0.0~192.168.0.255,只允許此
IP
段訪問的代碼如下:
復制代碼
代碼如下:
<?php
$IP
=
$_SERVER['REMOTE_ADDR'];
$from
=
strcmp($IP,'192.168.0.0');
$to
=
strcmp($IP,'192.168.0.255');
if
(!($from
>=
0
&&
$to
<=
0))
echo
"Access
Denied";
else
echo
"Homepage";
?>
從流程上講,這段代碼首先捕獲訪客
IP
地址,然後判斷該
IP
地址是否符合訪問條件。符合則正常輸出頁面,反之拒絕訪問。
據此,如果用戶
IP
地址滿足要求,只需簡單輸出或包含頁面文件即可。文件包含代碼如下:
復制代碼
代碼如下:
<?php
if
(!($from
>=
0
&&
$to
<=
0))
echo
"Access
Denied";
else
include('homepage.html')";
?>
當然,也可以按判斷結果跳轉至不同頁面。跳轉代碼如下:
復制代碼
代碼如下:
<?php
if
(!($from
>=
0
&&
$to
<=
0))
header('Location:
http://www.jb51.net/404.html');
else
header('Location:
http://www.jb51.net/index.html');
?>
㈢ php如何記錄訪客次數
需要把次數這個變數放到資料庫里,比如表名叫table1,欄位名叫clicktimes,假定現在初始值為0,則:
在代碼中執行sql語句:update table1 set clicktimes=clicktimes+1 ,這樣就ok了
不過按理應該要在哪個地方顯示出來吧:
select clicktimes from table
㈣ 求助記錄訪客IP的PHP代碼
/**
*獲取客戶端IP地址
*
*@accesspublic
*@returnstring
*/
functionget_client_ip()
{
static$ip=NULL;
if($ip!==NULL)return$ip;
if(isset($_SERVER['REMOTE_ADDR']))
{
$ip=$_SERVER['REMOTE_ADDR'];
}
elseif(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$arr=explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
$pos=array_search('unknown',$arr);
if(false!==$pos)unset($arr[$pos]);
$ip=trim($arr[0]);
}
elseif(isset($_SERVER['HTTP_CLIENT_IP']))
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
//IP地址合法驗證
$ip=(false!==ip2long($ip))?$ip:'0.0.0.0';
return$ip;
}
㈤ php代碼,記錄當天訪問次數不寫資料庫而是記錄在一個txt里
因為我現在不方便測試,所以可能還有些問題需要你自己修改
<?
$tim=date("H:i:s");
If($tim=="00:00:00")
{
$c_file="counter.txt";//把文件名賦值給變數
If(file_exists($c_file))//如果文件存在
{
unlink("$c_file");//刪除文件
}
}
else
{
$c_file="counter.txt";//文件名賦值給變數
if(!file_exists($c_file))//如果文件不存在的操作
{$myfile=fopen($c_file,"w");//創建文件
fwrite($myfile,"0");//置入「0」
fclose($myfile);//關閉文件
}
$t_num=file($c_file);//把文件內容讀入變數
$t_num[0]++;//文件內容自增1
echo
"歡迎!您是本站第".$t_num[0]."位訪客!";//顯示文件內容$myfile=fopen($c_file,"w");//打開文件
fwrite($myfile,$t_num[0]);//寫入新內容
fclose($myfile);//關閉文件
if($t_num[0]<=20)//如果訪問量不大於20就執行:
{
echo
"因為訪問量小於或等於20,所以輸出此語句";
}
else
{
echo
"因為訪問量大於20,所以輸出此語句";
}
}
?>
㈥ php怎麼才能實現網站訪客計數
下面的代碼既可:
<?php
$countf='count.txt';//可以修改這一行,把文件保存在其它地方或者名字
$countn=file_get_counts($countf);
$countn++;
if($fp=fopen($countf,'w')){fputs($fp,$countn);fclose($fp);}
echo "您是本站第{$countn}位訪客。";
?>
㈦ 求:php判斷普通訪客於搜索引擎蜘蛛代碼,並根據來訪用戶給出不同代碼
<?php
// 下面是一些常見的蜘蛛名
$flag = false;
$tmp = $_SERVER['HTTP_USER_AGENT'];
if(strpos($tmp, 'Googlebot') !== false){
$flag = true;
} else if(strpos($tmp, 'Baispider') >0){
$flag = true;
} else if(strpos($tmp, 'Yahoo! Slurp') !== false){
$flag = true;
} else if(strpos($tmp, 'msnbot') !== false){
$flag = true;
} else if(strpos($tmp, 'Sosospider') !== false){
$flag = true;
} else if(strpos($tmp, 'YoBot') !== false || strpos($tmp, 'OutfoxBot') !== false){
$flag = true;
} else if(strpos($tmp, 'Sogou web spider') !== false || strpos($tmp, 'Sogou Orion spider') !== false){
$flag = true;
} else if(strpos($tmp, 'fast-webcrawler') !== false){
$flag = true;
} else if(strpos($tmp, 'Gaisbot') !== false){
$flag = true;
} else if(strpos($tmp, 'ia_archiver') !== false){
$flag = true;
} else if(strpos($tmp, 'altavista') !== false){
$flag = true;
} else if(strpos($tmp, 'lycos_spider') !== false){
$flag = true;
} else if(strpos($tmp, 'Inktomi slurp') !== false){
$flag = true;
}
if($flag == false){
//正常用戶代碼
} else {
//蜘蛛處理代碼
}
?>
可以放在網頁程序的開頭
㈧ 幫忙注釋一段PHP代碼,訪客統計的,看不大懂,盡量每行都注釋上吧,謝了。
<?php
$countfile="js/counter.inc"; //計數代碼文件
$imagesext=".gif"; //圖片後綴
$images="images/"; //圖片路徑
if(($fp=fopen($countfile,"r+"))==false){ //1、如果不能讀操作模式打開那個計數代碼文件
printf("open file %s failed!",$countfile); //那麼列印一行錯誤(含文件名)
exit; //同時,退出本php程序
}
else //2、如果能打開那個計數代碼文件
{
$count=fread($fp,10); //讀取那個文件的第一行文字(應該是數字)
$count=$count+1; //把讀取到的數字+1,存到count變數里
fclose($fp); //關閉那個文件
$fp=fopen($countfile,"w+"); //再次用寫操作模式打開那個文件
fwrite($fp,$count); //把+1後的數字存入那個文件
fclose($fp); //關閉那個文件
if ($text) //判斷使用圖形還是文本計數器(這行代碼會報notice錯誤)
{
echo $count; //如果是文本,直接顯示在頁面上
}
else //如果是圖形,以下是顯示圖形
{
$longstr=strlen($count);
for ($x=0;$x<$longstr;$x++) //遍歷那個數字的位數
{
echo "<img src=";
echo $images;
echo substr($count,$x,1); //前後幾行代碼都 是用一個目的:把這個數字用gif圖片給展示出來
echo $imagesext;
echo ">";
}
}
}
?>
㈨ 求大神幫補充完善php網頁訪客計數器用圖片顯示的代碼。在線等。
給你個驗證碼圖片的,你參考,把內容替換了;
<?php
session_start();
//如果瀏覽器顯示「圖像XXX因其本身有錯無法顯示」,可盡量去掉文中空格
//先成生背景,再把生成的驗證碼放上去
$img_height=47;//先定義圖片的長、寬
$img_width=21;
$authnum='';
//生產驗證碼字元
$ychar="0,1,2,3,4,5,6,7,8,9";
$list=explode(",",$ychar);
for($i=0;$i<4;$i++){
$randnum=rand(0,9);
$authnum.=$list[$randnum];
}
//把驗證碼字元保存到session
$_SESSION["vcode"] = $authnum;
$aimg = imagecreate($img_height,$img_width); //生成圖片
imagecolorallocate($aimg, 255,255,255); //圖片底色,ImageColorAllocate第1次定義顏色PHP就認為是底色了
$black = imagecolorallocate($aimg, 0,0,0); //定義需要的黑色
for ($i=1; $i<=100; $i++) {
imagestring($aimg,1,mt_rand(1,$img_height),mt_rand(1,$img_width),"@",imagecolorallocate($aimg,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255)));
}
//為了區別於背景,這里的顏色不超過200,上面的不小於200
for ($i=0;$i<strlen($authnum);$i++){
imagestring($aimg, 5,($i+1)*8,4, $authnum[$i],imagecolorallocate($aimg,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200)));
}
imagerectangle($aimg,0,0,$img_height-1,$img_width-1,$black);//畫一個矩形
header("Content-type: image/PNG");
imagepng($aimg); //生成png格式
imagedestroy($aimg);
?>