php 초간단 카운터 질문드려요!
본문
<?php
$data = file("c01.txt");
$count = trim($data[0]);
$inc_count = $count + 1;
$fp = fopen("c01.txt", "w"); #
fwrite($fp, $inc_count);
fclose($fp);
echo "$count";
?>
$data = file("c01.txt");
$count = trim($data[0]);
$inc_count = $count + 1;
$fp = fopen("c01.txt", "w"); #
fwrite($fp, $inc_count);
fclose($fp);
echo "$count";
?>
소스가 이건데요 이 소스는 새로고침하면 계속 카운팅이 증가되는데
동일pc에서 새로고침하면 1회만 카운팅 되게 할수 있을까요?
매번 그누 능력자님들께 감사드리고 있습니다.
저도 무럭무럭 자라서 누군가에게 배풀수있는 사람이 되도록 노력하겠습니다^^
답변 3
$Aday_IP = $_SERVER['REMOTE_ADDR'];
//$Aday_wr_id = $wr_id // 뷰페이지 마다 카운터를 원하시면 주석 제거
setcookie("Aday_cookie_{$Aday_IP}","$g4[time_ymd]", time()+60*60*24*1 , "/"); // 1일동안 저장
//setcookie("Aday_cookie_{$Aday_IP}[{$Aday_wr_id}]","$g4[time_ymd]", time()+60*60*24*1 , "/"); // 뷰페이지 마다 카운터를 원하시면 이거 사용
if ( 0 = count($_COOKIE["Aday_cookie_{$Aday_IP}"])) {
$data = file("c01.txt");
$count = trim($data[0]);
$inc_count = $count + 1;
$fp = fopen("c01.txt", "w"); #
fwrite($fp, $inc_count);
fclose($fp);
echo "$count";
$count = trim($data[0]);
$inc_count = $count + 1;
$fp = fopen("c01.txt", "w"); #
fwrite($fp, $inc_count);
fclose($fp);
echo "$count";
}
이렇게 하면 될거 같네요... 쿠키 부분이 좀 어색한거 같지만요
당연히 초간단으로 하니까 그렇죠.
파일에 아이피도 저장하고 날짜도 저장해요
그래서 그 아이피와 날짜 읽어서
하루에 한번만 증가하게 하면 되요
파일에 아이피도 저장하고 날짜도 저장해요
그래서 그 아이피와 날짜 읽어서
하루에 한번만 증가하게 하면 되요
DB 사용하시거나, 세션파일 하나 생성하심이.
답변을 작성하시기 전에 로그인 해주세요.