hit: 7923 / writer: aktlakfh1211 
:::: PHP 강좌 1회차 카운터 만들기 ::::
작성자 : aktlakfh1211 등록일 : 2004-11-27 18:27:15
안녕하세요. 이번엔 PHP를 이용한 홈피강좌 입니다.
오늘 한번 신나게 PHP를 가지고 놀아 볼까요?
카운터 소스입니다.
__
|
// 카운터가 업데이트 되었는지를 판단하는 쿠키값 얻어오기
$chk_update = $HTTP_COOKIE_VARS[up_cnt];

// HOST 정보를 얻어오는 함수
function get_hostname()
{
$host = getenv("HTTP_X_FORWARDED_FOR");
if(!$host) $host = getenv("REMOTE_ADDR");
return gethostbyaddr($host);
}

// 카운터 환경 설정
// 카운트 파일이 저장될 디렉토리 설정
$COUNT_DIR = $DOCUMENT_ROOT . "Count/FILES/";
// 어제 카운터 파일 정의
$COUNT_FILE_YESTERDAY = $COUNT_DIR . mktime(0, 0, 0, date("m"), date("d") - 1, date("Y")) . ".count";
// 오늘 카운터 파일 정의
$COUNT_FILE_TODAY = $COUNT_DIR . mktime(0, 0, 0, date("m"), date("d"), date("Y")) . ".count";

// 카운터 업데이트 쿠기가 있나 없나 판단하기
if( empty($chk_update) )
{
// 만악 카운터를 업데이트 하지 않았다면..

// HOST 정보 얻어오기
$host = get_hostname();
// 오늘 카운터 파일 열기 ( 추가 모드로 )
$SAVE_COUNT = @fopen($COUNT_FILE_TODAY, "a+");
// HOST 정보를 추가 하기
@fputs($SAVE_COUNT, $host . "\n");
// 파일 닫기
@fclose($SAVE_COUNT);
// 카운터 업데이트 쿠기 설정 하기
// 인터넷 익스 플로어가 닫아 지면 쿠키값 없어짐..
// 만약 하루 동안 유지 하고 싶으면.. 0 -> time()+3600 형식으로 시간 지정해 주기
@SetCookie("up_cnt", "UPDATE", 0, "/");
}

// 오늘 카운트 횟수 얻어오기
// 파일이 있나..
if( @file_exists( $COUNT_FILE_TODAY ) )
{
// 파일이 있으면 파일을 열어서 카운터 얻어오기
$today_visit_num = count(@file($COUNT_FILE_TODAY));
}
// 파일이 없으면 0
else $today_visit_num = 0;

// 어제 카운트 횟수 얻어오기
if( @file_exists( $COUNT_FILE_YESTERDAY ) )
{
// 파일이 있으면 파일을 열어서 카운터 얻어오기
$yestoday_visit_num = count(@file($COUNT_FILE_YESTERDAY));
}
// 없으면 0
else $yestoday_visit_num = 0;

// 지금까지 총 카운터 얻어오기
$total_visit_num = 0;
// 카운터 파일 저장 디렉토리 검사
if( @is_dir( $COUNT_DIR ) )
{
// 디렉토리 열기
$chkdir = dir( $COUNT_DIR );
// 카운터 파일 리스트
while( $entry = $chkdir->read() )
{
// 카운터 파일이냐 아니냐 검사
if( ( $entry != '.') && ( $entry != '..' ) && eregi("\.count", $entry) && ( @is_file( $COUNT_DIR . $entry ) ) )
{
// 카운터 파일이면 총 카운터 변수에 계속 추가하기
$total_visit_num += count(@file($COUNT_DIR . $entry));
}
}
}

// 카운터 출력
// 출력 형식은 변수=값&변수1=값1&변수2=값2
// number_format = 3자리 마다 자릿수 표현
echo "today=" . number_format($today_visit_num);
echo "&yesterday=" . number_format($yestoday_visit_num);
echo "&total=" . number_format($total_visit_num);
?>
__|
그런데 태그가 좀 이상하죠?
'?'라니...
그리고 C언어와 거의 다른게 거의 없습니다.
위의 소스 중에서 중요한 부분은 출력 형식이 되겠네요..
출력 하는 방법은


변수=값

이렇게 출력 합니다..
여기서 변수는 FLASH 에서 사용하게 됩니다..

만약 여러가지 변수를 한꺼번에 보내고 싶을때는 & 로 이어주면 됩니다.

변수1=값1&변수2=값2


이전글 PHP강좌 2회 제로보드 설치하기
다음글 안녕하세요 wo.to 계정을 대처할수 있는 계정