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

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

QA

SIR 제작의뢰 - 견적무료/익명보정/호스팅, DB 이전/단기개발. 이젠 ' 의뢰인'이 원하는 '제작자'에게만 연락처를 알릴 수 있습니다.

서버 상태(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도 쓰시게 될겁니다

 

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

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

주소복사
채택됨
답변의 댓글
답변을 작성하시기 전에 로그인 해주세요.
전체 66,488 | RSS
고마운 분의 도움으로 질문을 해결하셨다면, 채택을 눌러서 감사의 마음을 전하세요.
어떻게 질문해야 할지 모른다면 질문하는 방법을 읽어 보신후 질문해 보세요.
QA 내용 검색

회원로그인

진행중 포인트경매

  1. [성인영어학습지] 호호네 브런치 2018년 9월호

    참여2 회 시작18.10.17 09:46 종료18.10.22 09:46

(주)에스아이알소프트 (06253) 서울특별시 강남구 도곡로1길 14, 6층 624호 (역삼동, 삼일프라자) 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT