안녕하세요. 이번엔 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 |
|
|
|