묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
세죠위그이님. 플래시 카운터 cgi파일이 아니라 php파일만 있는데요..
2003.09.21 12:31
cgi파일은 없고, swf, html, php, txt파일만 있어요...
아래는 php파일 내용이에요..
<?
###############################################################
##### 플래쉬 카운터 ...
##### 2001년 9월 28일 ...
###############################################################
##### 함수 #####
function result_check($str,$msg) {
if (empty($str)) {
echo "<script> alert('{$msg}'); history.go(-1); </script>";
exit;
}
}
# 파일형식
# 총카운터수:오늘방문자:어제방문자:날짜
##### 환경설정 ######
$filename = "count.txt"; # 카운터 누적데이타 파일..
$cookie = "dogfoot_cookie"; # 사용된 쿠키명..
$lifetime = mktime(12,01,01,11,12,2010); # 쿠키유효기간
#### 파일권한 및 유무 체크 #######
result_check(file_exists ($filename),"카운터정보 파일이 존재하지 않습니다");
result_check(is_writeable ($filename),"카운터정보 파일의 쓰기 권한이 없습니다");
result_check(is_readable($filename),"카운터정보 파일의 읽기 권한이 없습니다");
$fp = fopen ($filename, "r");
result_check($fp,"파일의 읽을수 없습니다");
$info_data = fread($fp,1024);
$info_array = split(":",$info_data);
if (count($info_array) != 4) { // 파일의 내용이 없거나 형식이 일치하지 않아서 초기화시킴..
$total = "000001";
$today = "000000";
$yesday = "000000";
$regdate = date("Y-m-d");
} else {
$total = sprintf("%06d",($info_array[0] + 1));
$today = $info_array[1];
$yesday = sprintf("%06d",$info_array[2]);
$regdate = $info_array[3];
}
fclose($fp);
# 파일에 쓰기
$fp = fopen ($filename, "w");
result_check($fp,"파일의 읽을수 없습니다");
if ($regdate == date("Y-m-d")) $today = sprintf("%06d", ($today + 1));
else {
$yesday = $today;
$today = 1;
}
$write_data = "{$total}:{$today}:{$yesday}:" . date("Y-m-d");
fputs($fp,$write_data);
fclose($fp);
if ($HTTP_COOKIE_VARS[$cookie]) $youcount = $HTTP_COOKIE_VARS[$cookie] + 1;
else $youcount = 1;
$youcount = sprintf("%06d",$youcount );
setcookie("{$cookie}",$youcount,$lifetime,"/");
echo "<embed src='./count.swf?total={$total}&yes={$yesday}&today={$today}&you={$youcount}&load=end&' type='application/x-shockwave-flash' width='150' height='70' bgcolor='#E4E4E4'></embed>";
?>
아래는 php파일 내용이에요..
<?
###############################################################
##### 플래쉬 카운터 ...
##### 2001년 9월 28일 ...
###############################################################
##### 함수 #####
function result_check($str,$msg) {
if (empty($str)) {
echo "<script> alert('{$msg}'); history.go(-1); </script>";
exit;
}
}
# 파일형식
# 총카운터수:오늘방문자:어제방문자:날짜
##### 환경설정 ######
$filename = "count.txt"; # 카운터 누적데이타 파일..
$cookie = "dogfoot_cookie"; # 사용된 쿠키명..
$lifetime = mktime(12,01,01,11,12,2010); # 쿠키유효기간
#### 파일권한 및 유무 체크 #######
result_check(file_exists ($filename),"카운터정보 파일이 존재하지 않습니다");
result_check(is_writeable ($filename),"카운터정보 파일의 쓰기 권한이 없습니다");
result_check(is_readable($filename),"카운터정보 파일의 읽기 권한이 없습니다");
$fp = fopen ($filename, "r");
result_check($fp,"파일의 읽을수 없습니다");
$info_data = fread($fp,1024);
$info_array = split(":",$info_data);
if (count($info_array) != 4) { // 파일의 내용이 없거나 형식이 일치하지 않아서 초기화시킴..
$total = "000001";
$today = "000000";
$yesday = "000000";
$regdate = date("Y-m-d");
} else {
$total = sprintf("%06d",($info_array[0] + 1));
$today = $info_array[1];
$yesday = sprintf("%06d",$info_array[2]);
$regdate = $info_array[3];
}
fclose($fp);
# 파일에 쓰기
$fp = fopen ($filename, "w");
result_check($fp,"파일의 읽을수 없습니다");
if ($regdate == date("Y-m-d")) $today = sprintf("%06d", ($today + 1));
else {
$yesday = $today;
$today = 1;
}
$write_data = "{$total}:{$today}:{$yesday}:" . date("Y-m-d");
fputs($fp,$write_data);
fclose($fp);
if ($HTTP_COOKIE_VARS[$cookie]) $youcount = $HTTP_COOKIE_VARS[$cookie] + 1;
else $youcount = 1;
$youcount = sprintf("%06d",$youcount );
setcookie("{$cookie}",$youcount,$lifetime,"/");
echo "<embed src='./count.swf?total={$total}&yes={$yesday}&today={$today}&you={$youcount}&load=end&' type='application/x-shockwave-flash' width='150' height='70' bgcolor='#E4E4E4'></embed>";
?>