방문자수 total 질문입니다. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

방문자수 total 질문입니다. 정보

방문자수 total 질문입니다.

본문

안녕하세요 다름이 아니라 제가 관리하는 홈페이지가 여러개라 AA라는 홈페이지에 통합 관리자 페이지를 만들었습니다.  밑에소스는 통합페이지가 아닌 관리하는 홈페이지마다 작성한 소스입니다.
--------------------------------------------------------------------------------------------------
<?
include_once("./_common.php");
$g4[title]="<a href = 'http://도메인.com/adm' target='_blank'>도메인.com</a>";

// 날짜 설정
if(!$datefrom) $datefrom = date("Y-m-d", strtotime("0 days ago"));
if(!$dateto) $dateto = $g4[time_ymd];

// 주사 지랄 방지
$datefrom = substr($datefrom, 0, 10);
$dateto = substr($dateto, 0, 10);
$site = substr($site, 0, 10);
$site_ori = $site;

// 검색사이트들
$site_arr = array("Yahoo", "Bing", "Nate", "Google", "Daum", "Naver");
$surl_arr = array("Yahoo" => "%search.yahoo.com%", "Bing" => "http://www.bing.com%", "Nate" => "%nate.com%",  "Google" => "http://www.google.%", "Daum" => "%search.daum.net%","Naver" => "%search.naver.com%");
$svar_arr = array("Yahoo" => "p","Bing" => "q","Nate" => "q", "Google" => "q", "Daum" => "q", "Naver" => "query");
?>
<style type="text/css">
#m3tbl { border:solid 1px #FFFFFF; border-collapse:collapse;}
#m3tbl th { border:solid 1px #FFFFFF; text-align:center;}
#m3tbl td { border:solid 1px #FFFFFF; text-align:center; padding:2px 8px;}
#div_m3sq ul { display:inline; padding:0; margin:0; }
#div_m3sq ul li { display:inline; padding:0 10px; border:solid 1px #0100FF; }
</style>


<table align="left" border="2" cellpadding="0" cellspacing="0" width="700" bordercolor="#CCCCCC" bordercolordark="white" bordercolorlight="#CC3D3D">
        <td align="center">

<form method="get" action="<?=$_SERVER[PHP_SELF]?>">
<input type="hidden" name="site" value="<?=$site_ori?>" />
시작 : <input type="text" name="datefrom" value="<?=$datefrom?>" size="10" />&nbsp;
끝 : <input type="text" name="dateto" value="<?=$dateto?>" size="10" />
<input type="submit" value="검색" />
</form>


<?
// vi_referer에서 사이트 찾고, vi_date로 범위 정하기, 정렬은 vi_id 역순 (속도 개선 필요)
if(in_array($site_ori, $site_arr)) {
$where1 = "vi_referer LIKE '{$surl_arr[$site_ori]}' ";
}
else { // 5개 사이트 모두 포함
$where1 = " ( ";
foreach($surl_arr as $site => $surl) {
$where1 .= " vi_referer LIKE '$surl' OR ";
}
$where1 .= " 0 )";
}

$query = sql_query("select * from `$g4[visit_table]` where $where1 AND vi_date>='$datefrom' AND vi_date<='$dateto' order by vi_id desc");
?>
<table id="m3tbl" border="0" width="100%">



<?
$cnt = 0;
$cnt2 = array();
while($row = sql_fetch_array($query)) {
// 어느 사이트인지 찾기
foreach($surl_arr as $site => $surl) {
if(strstr($row[vi_referer], str_replace("%", "", $surl))) {
$engine = $site;
break;
}
}
// 검색문자열 찾기
$regex = "/(\?|&){$svar_arr[$engine]}\=([^&]*)/i";
preg_match($regex, $row[vi_referer], $matches);
$querystr = $matches[2];
// 보통 검색어 사이를 +로 넘긴다
$querystr = str_replace("+", " ", $querystr);
// %ab 이런 식으로 된 걸 바꿔주기
$querystr = urldecode($querystr);
// 네이버는 unicode로 된 경우도 있어서
if($engine=="Naver") $querystr = utf8_urldecode($querystr);
// 캐릭터셋이 UTF-8인 경우는 EUC-KR로 고치기 (UTF-8 유저는 EUC-KR과 UTF-8을 서로 바꿔주면 될 듯)
$charset = mb_detect_encoding($querystr, "ASCII, UTF-8, EUC-KR");
if($charset=="UTF-8") $querystr = iconv("UTF-8", "EUC-KR", $querystr);
// 자잘한 처리들
$querystr = trim($querystr);
$querystr = htmlspecialchars($querystr);
// 가끔 빈 것들도 있다 -_-
if(!strlen($querystr)) continue;
// 에코
echo "";
echo "";
echo "";
// 카운트용 변수
$cnt++;
$cnt2[$engine]++;
}
ksort($cnt2);

// 베짱이님 제공 함수
function utf8_urldecode($str, $chr_set='CP949') {
    $callback_function = create_function('$matches, $chr_set="'.$chr_set.'"', 'return iconv("UTF-16BE", $chr_set, pack("n*", hexdec($matches[1])));');
    return rawurldecode(preg_replace_callback('/%u([[:alnum:]]{4})/', $callback_function, $str));
}

?>
</table><br />

<?=$g4['title']?> → &nbsp; 합계 : <?=$cnt?> 명 &nbsp;
<? if(!$site_ori) { // 모든 사이트의 경우 비율 분석
foreach($cnt2 as $engine => $count) {
echo "$engine : $count 명 &nbsp;";
}
}?>
</td>   
</table>

---------------------------------------------------------------------------------------------------

이 소스를 a,b,c,d,e,f,g 라는 홈페이지마다 업로드 시켜놓고

--------------------------------------------------------------------------------------------------


<?
$url="http://aaa.com/result.php";
ini_set("allow_url_fopen", 1);
$text = file_get_contents($url);
echo $text ;
?>

이소스로 통합 페이지 A 라는 곳에서 불러오기를 했는데요...


A라는 곳에  a,b,c,d,e,f,g  의 방문자 통 합을 구하려고 합니다.. 어떤 방식으로 해야 되나요?

댓글 전체

전체 66,558 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT