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>");

?>


=========================================
asp 소스

1.Global.asa 소스 입니다.



<script language="vbscript" runat="server">

sub application_onstart

set fileobject=server.createobject("scripting.filesystemobject")
visitcountfilename="여기는 제 홈페이지의 경로입니다.aspcountvisit.txt"
set out=fileobject.opentextfile(visitcountfilename,1,false,false)
application("count")=out.Readline
applecation("visitcountfilename")=visitcountfilename

end sub

sub application_onend

set fileobject=server.createobject("scripting.filesystemobject")
set out=fileobject.createtextfile(application("visitcountfilename"),true)

application.lock
out.writeline(application("count"))
application.unlock

end sub

sub session_onstart

application.lock
application("count")=application("count")+1
application.unlock

session.timeout=1

if application("count")MOD 10 =0 then
  set fileobject=server.createobject("scripting.filesystemobject")
  set out=fileobject.createtexfile(application("visitcountfilename"),true)

  application.lock
  out.writeline(application("coun"))
  out.close
  application.unlock

end if
end sub

sub session_onend

end sub

</script>



2. main.asp 소스입니다.



<html>
<body>
<center><font face="돋움" size="3">
<p> </p>
현재까지의 카운트: <%=application("count")%>
</font></center>
</body>
</html>



3.visit.txt 소스입니다.

0




© juroweb 2003-2014. All rights reserved
log in