서버 상태(on/off) 나타내는 위젯을 만들고 있습니다.

서버 상태(on/off) 나타내는 위젯을 만들고 있습니다.

QA

서버 상태(on/off) 나타내는 위젯을 만들고 있습니다.

본문

PHP를 시작한지 이틀이 되었습니다.

그누보드를 접하면서 php도 접하게 되었는데요...

아직 뭐가 뭔지 모르겠어서 염치 없이 도움을 구합니다ㅜㅜ

 

좌측 outlogin, visit 있는 곳에

echo status 로 서버 상태를 나타내는 위젯(?)을 구현하려고 합니다.

그래서 /lib에 status.lib.php를 만들었고, (visit.lib.php 참고했습니다)

head.php에도 include_once로 status.lib.php를 포함했습니다.

 

문제는 status.lib.php인데(아래가 그 소스코드입니다)

분명 뭔가가 잘못됬다는 건 알겠는데 어디서부터 잘못됬는지 감을 못잡겠습니다.

$ip, $port 변수를 어디서 입력해줘야 하는지도 모르겠고,

getStatus라는 function은 어디서 어떻게 실행될 수 있는지도 모르겠습니다.

 

염치없지만 친절하게 도와주시면 참 고맙겠습니다...  T-T

 


<?php
if (!defined('_GNUBOARD_')) exit;

function status($skin_dir='basic')
{
    global $config, $g5;
    if(preg_match('#^theme/(.+)$#', $skin_dir, $match)) {
        if (G5_IS_MOBILE) {
            $status_skin_path = G5_THEME_MOBILE_PATH.'/'.G5_SKIN_DIR.'/status/'.$match[1];
            if(!is_dir($status_skin_path))
                $status_skin_path = G5_THEME_PATH.'/'.G5_SKIN_DIR.'/status/'.$match[1];
            $status_skin_url = str_replace(G5_PATH, G5_URL, $status_skin_path);
        } else {
            $status_skin_path = G5_THEME_PATH.'/'.G5_SKIN_DIR.'/status/'.$match[1];
            $status_skin_url = str_replace(G5_PATH, G5_URL, $status_skin_path);
        }
        $skin_dir = $match[1];
    } else {
        if(G5_IS_MOBILE) {
            $status_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/status/'.$skin_dir;
            $status_skin_url = G5_MOBILE_URL.'/'.G5_SKIN_DIR.'/status/'.$skin_dir;
        } else {
            $status_skin_path = G5_SKIN_PATH.'/status/'.$skin_dir;
            $status_skin_url = G5_SKIN_URL.'/status/'.$skin_dir;
        }
    }
    ob_start();
    include_once ($status_skin_path.'/status.skin.php');
    $content = ob_get_contents();
    ob_end_clean();
    return $content;
}
function getStatus($ip, $port) {
    $socket = @fsockopen($ip, $port, $errorNo, $errorStr, 2);
    if (!$socket) return false;
    else return true;
}
function parser() {
        if (getStatus((string)$ip, (string)$port)) {
            $online = "true";
        }
        else {
            $online = "false";
        }
    }
    return $online;
}
?>

이 질문에 댓글 쓰기 :

답변 1

$ip, $port 변수를 어디서 입력해줘야 하는지도 모르겠고,

 

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

우선 저파일을 페이지에 인클루드 시키시고

 

$result = getStatus('123.222.222.222','80');

if($result !== false{

  echo '서버온라인';

}else{

  echo '서버 오프라인';

}

 

이런식으로 사용하시구요..

 

getStatus라는 function은 어디서 어떻게 실행될 수 있는지도 모르겠습니다.

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

대충봐서는 그냥 스킨 디렉토리 설정인것같아요..

의미 없는것같구요..

 

 

제가 function을 잘 모를때 function사용하지 않고 막 코딩하며 막 코딩이 쌓이다보니

더 편한걸 찾게되고 언제부턴가 function(함수)을 쓰고 있더라구요

 

조금 더 지나면 class도 좋아보여 class도 사용하실거고

조금 더 지나면 namespace도 쓰시게 될겁니다

 

계속 하시다보면 언젠가 아~ 하고 감이오실때가 올겁니다 

저도 많이 부족해 계속 헤딩합니다.. 저희 같이 화이팅해요..

답변을 작성하시기 전에 로그인 해주세요.
전체 790
QA 내용 검색

회원로그인

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