본문 바로가기

컴퓨터/언어,프로그래밍

방문자 카운터 PHP 소스 (text파일 이용, mysql을 이용)

text파일을 이용하는 것과 mysql을 이용하는 소스 2종세트~

텍스트파일에 카운트 값을 저장하는 php
<count_txt.php>

<
?
// <? <-- 이 표시 이전에 공백이나 어떤 HTML 이 들어가도 안됩니다.
//수동으로 count.txt 란 파일을 같은 디렉토리에 만들어놓는다.
// 물론 퍼미션은 777 (모든사람이 읽기 쓰기 접근이 가능하게..

$count = file( "count.txt"); //------------- ①
// file 함수는 count.txt 파일의 데이터를 배열로 저장합니다.
// 한줄 한줄 배열로 저장하기 때문에 $count[0]은 첫줄 $count[1] 둘째줄

$count = chop($count[0]); //------------ ②
// chop 함수는 문자열 끝의 의미없는 공백을 지워주는 함수입니다.
// 'abc ' 이와같이 데이터가 있을 경우 'abc' 로 뒤에 불필요한 공백을
//삭제 합니다.

if (!$ip){ //----------------------------- ③
// $ip는 쿠키로 지정된 값입니다.
// 즉, 한번 들어오면 쿠키값으로 인해 리프레쉬 하여도 카운터는 올라가지 않습니다

$count++; //------------------------- ④
// 쿠키값이 없을 경우 카운터를 1 증가 시킵니다.

$fp = fopen( "count.txt", "w"); // 파일 열고 ----- ⑤
fwrite($fp, "$count"); // 파일에다 $count 값을 저장합니다. ------⑥
fclose($fp); // 파일을 닫습니다. ----- ⑦

SetCookie( "ip",$REMOTE_ADDR); //----- ⑧
// 또는 SetCookie("ip",$REMOTE_ADDR,0,"/"); 처럼 하세요.
// 카운터가 추가 되었으므로 쿠키를 설정해 브라우저를 제거하기 이전에는
// 카운터가 더 이상 올라가지 않게 합니다.

} //---------- ⑨
echo ($count); //-------------- ⑩
// 카운트 값을 출력합니다.
?>





mysql에 카운트 값을 저장하는 php
<count_mysql.php>


<HTML>
<HEAD>
<TITLE>test</TITLE>
</HEAD>

<
?

$host = "localhost"; // 기본값 localhost
$usr_id = "id"; // 자신의 Mysql 아이디
$usr_pw = "pw"; // 자신의 Mysql 비밀번호
$usr_db = "db"; // 자신의 Mysql DB

//$connect = mysql_connect($host, $usr_id, $usr_pw); // Mysql 연결부분
//mysql_select_db($usr_db, $connect) or die("데이터베이스 연결 실패");

$connect = mysql_connect($host, $usr_id, $usr_pw) or die("SQL server에 연결할 수 없습니다.");
mysql_select_db($usr_db,$connect);


if (!$ip){

$que1 = "create table count (id int(4) not null primary key auto_increment, count int(11) default '0')"; // 테이블 만들기
mysql_query($que1, $connect);// or die("뭔가 문제가 있는데..");

$que2 = "insert into count values (1, 0)"; // 테이블 카운터 부분에 0 입력해주기
mysql_query($que2, $connect);

$que3 = "update count set count=count+1 where id=1"; // 방문때마다 카운터를 +1 해주기
mysql_query($que3, $connect);

SetCookie( "ip",$REMOTE_ADDR);

}

$que4 = "select * from count where id=1"; // 카운터 부분을 $count 로 함수설정
$result = mysql_query($que4, $connect);
$temp = mysql_fetch_array($result);
$count = $temp[count];

echo("$count"); // 카운터 출력


echo("
<p>
</BODY>
</HTML>");

?>

제주삼다수, 2L,... 오뚜기 진라면 매운... 상하목장 유기농 흰... 남양 프렌치카페 카... 고려인삼유통 홍삼 ... 종근당건강 오메가3... 요이치 카링 유무선...