網站計數器php
❶ 請問下php中 怎麼編寫網站計數器 而不是網頁計數器
隨便怎麼做~~~~~
COOKIE也能做判斷,IP也能
就是你想怎麼做了
只如伏要單獨調出一個 公共文件,在裡面做判培隱斷渣中攜是否 要 +1 就行了
❷ php的網店計數器怎麼收集ip
function getIp() {
if (getenv('HTTP_CLIENT_IP'拍塌)) {
$ip = getenv('HTTP_CLIENT_IP');
}
elseif (getenv('HTTP_X_FORWARDED_FOR')) {
$ip = getenv('HTTP_X_FORWARDED_FOR');
}
elseif (getenv('HTTP_X_FORWARDED'橘余)) {
$ip = getenv('HTTP_X_FORWARDED');
}
elseif (getenv('HTTP_FORWARDED_FOR')) {
$ip = getenv('HTTP_FORWARDED_FOR');
}
elseif (getenv('HTTP_FORWARDED')) {
$ip = getenv('HTTP_FORWARDED');
}
else {
$ip = $_SERVER['REMOTE_ADDR'];
}
//echo $ip;用這個試試輸出
}
獲取客戶端的ip 不敢保證對錯哦。我襲伍圓也不是很會
❸ 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網頁中加入計數器
<?php $file="jishuqi.txt"; function jishuqi($file) { $a=fopen($file,"r"拿老); $i=fread($a,"6"); fclose($a); $i+=1; echo "你是第".$i."消褲升次訪問純明"; $w=fopen($file,"w"); fwrite($w,$i); fclose($w); } if (!file_exists($file)) { $ww=fopen($file,w); fwrite($ww,0); fclose($ww); } jishuqi($file); ?>
❺ 求php編寫的網頁計數器代碼(用cookie防止重復刷新計數)
<?php
$cFile="count.txt";
$acctime=time();
if(file_exists($cFile)){
$fp=fopen($cFile,"r");
$str=fgets($fp,22);
fclose($fp);
$count=trim($str);
$count++;
}else{
$count=1;
}
$first=false;
if(!isset($_COOKIE['acctime'])){
setcookie("acctime",$acctime,time()+3600*24);
$first=true;
$acctime=3600*24+$acctime;
}else{
$acctime=3600*24+$_COOKIE['acctime'];
}
if($first||$acctime<=time()){
$count=sprintf("%d",$count);
$fp=fopen($cFile,"w");
fputs($fp,$count);
fclose($fp);
}else{
$count--;
}
print "您是第 ".$count." 位訪客。您下次訪問計入統計的時間是:".date("Y-n-j H:i:s",$acctime)."。";
?>
❻ 求大神幫補充完善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);
?>
❼ thinkphp中如何獲取用戶的ip地址實現網站訪問人數統計的計數器
thinkphp默認封裝了獲取ip方法:get_client_ip()
統計人數這個我也建議用cnzz,很方便,你想看的數據基本都能滿足。
❽ php中使用session網頁計數器
你的思路有點混亂
session_start();之前不能有輸出
如果session中沒有count,就讓$count++這顯然不行,建議你用文本記錄$count
這樣寫
<?
session_start();
$datfile='data.dat';
if(file_exists($datfile)){
$data=implode('',file($datfile));
$data=$data*1;
}else{
$data=0;
}
$fp=fopen($datfile,'w');
fwrite($fp,$data+1);
fclose($fp);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>session網頁計數器</title>
</head>
<body>
<p>
您好,你已經瀏覽本網頁<?php echo $data;?>次
</p>
</body>
</html>
❾ php網站計數器程序,顯示「您是本站的第XXX位訪問者」
創建一個資料庫表
表名指絕:table_counter
欄位:number
int(10)
1.顯示統計數據
$sql
=
"SELECT
*
FROM
table_counter";
2.每次刷新頁面
執行sql
$sql
=
"UPDATE
table_counter
SET
number=
number+
1";
如果要做的精確一點
在加一個表
table_visit
欄位:ip
1更次刷新取得遊客$ip;
2.取得$ip後.查詢
table_vist
.
如果存在則不更新table_counter.
如果不存在,則更新table_vist
,更新語句同上.並把$ip插入table_visit
如果還需要做的更人性化一點.設置一個時間間隔,比如說10分鍾.$diff
=
600;
在table_visit再加上一個欄位
datetime
:int(10)(時間戳).記錄遊客訪問時間.
1更次刷新取得遊客$ip
和
時間$date
=
time();
2.查詢
table_vist
.
$sql
=
"SELECT
*
FROM
table_vist
WHERE
ip
=
'$ip'";
3.如果不存在.則把$ip和$date插入表table_vist.
$sql
=
"INSERT
INTO
table_vist
SET
ip
=
'$ip',timedate=$date";
並更新table_counter;
4.如果存在,則判斷該條查詢結果的timedate
和
現在唯脊姿時間$date,的差值.和
$diff比較
少於則不做任何操野散作.
大於則更新table_vist
。$sql
=
"UPDATE
table_vist
SET
timedate
=
$date
WHERE
ip
=
'$ip'";
並更新table_visit;