묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
너무 말도 안되는 질문이라 죄송하지만요..
2004.01.07 17:20
<?php
$chk_update=$HTTP_COOKIE_VARS[up_cnt];
function get_hostname(){
$host=getenv("HTTP_X_FORWARDED_FOR");
if(!host)
$host=getenv("REMOTE_ADDR");
return gethostbyaddr($host);
}
$COUNT_DIR=$DOCUMENT_ROOT."Count/FILES/";
echo $COUNT_DIR."<br>";
$COUNT_FILE_YESDERDAY=$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=get_hostname();
$SAVE_COUNT=@fopen($COUNT_FILE_TODAY,"a+");
@fputs($SAVE_COUNT,$host."n");
@fclose($SAVE_COUNT);
@SetCookie("up_cnt","UPDATE",0,"/");
}
if(@file_exists($COUNT_FILE_TODAY)){
$today_visit_num=count(@file($COUNT_FILE_TODAY));
}
else $today_visit_num=0;
if(@file_exists($COUNT_FILE_YESTERDAY)){
$yesterday_visit_num=count(@file($COUNT_FILE_YESTERDAY));
}
else $yesterday_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));
}
}
}
echo "today : ".number_format($today_visit_num)."<br>";
echo "yesterday : ".number_format($yesterday_visit_num)."<br>";
echo "total : ".number_format($total_visit_num)."<br>";
$tm=time()-86400;
echo date("y년m월d일 H시i분s초",$tm);
?>
=========================count.php 소스입니다.========================================
다른것이 아니고 이 소스에서 보면 file 에 관한 모든 함수는 그 함수 앞에 @ 을 붙였는데..
대체 왜 붙이는겁니까?
책에도 없고.. 이곳에도 찾아보니...
너무도 당연히 알아야 하는것인 모양입니다.
답답하네요..
왜 그런지.. 알려주세요..
$chk_update=$HTTP_COOKIE_VARS[up_cnt];
function get_hostname(){
$host=getenv("HTTP_X_FORWARDED_FOR");
if(!host)
$host=getenv("REMOTE_ADDR");
return gethostbyaddr($host);
}
$COUNT_DIR=$DOCUMENT_ROOT."Count/FILES/";
echo $COUNT_DIR."<br>";
$COUNT_FILE_YESDERDAY=$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=get_hostname();
$SAVE_COUNT=@fopen($COUNT_FILE_TODAY,"a+");
@fputs($SAVE_COUNT,$host."n");
@fclose($SAVE_COUNT);
@SetCookie("up_cnt","UPDATE",0,"/");
}
if(@file_exists($COUNT_FILE_TODAY)){
$today_visit_num=count(@file($COUNT_FILE_TODAY));
}
else $today_visit_num=0;
if(@file_exists($COUNT_FILE_YESTERDAY)){
$yesterday_visit_num=count(@file($COUNT_FILE_YESTERDAY));
}
else $yesterday_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));
}
}
}
echo "today : ".number_format($today_visit_num)."<br>";
echo "yesterday : ".number_format($yesterday_visit_num)."<br>";
echo "total : ".number_format($total_visit_num)."<br>";
$tm=time()-86400;
echo date("y년m월d일 H시i분s초",$tm);
?>
=========================count.php 소스입니다.========================================
다른것이 아니고 이 소스에서 보면 file 에 관한 모든 함수는 그 함수 앞에 @ 을 붙였는데..
대체 왜 붙이는겁니까?
책에도 없고.. 이곳에도 찾아보니...
너무도 당연히 알아야 하는것인 모양입니다.
답답하네요..
왜 그런지.. 알려주세요..
만약 error표시가 될 경우 위험한 설정이 있다면(가령 절대경로나 DB의 설정들) @을 붙여주면 에러가 발생해도 화면에 나오지 않겠죠.
매뉴얼 : http://kr.php.net/manual/kr/functions.php (여기서 @으로 찾기 해보세요)