웹마스터 팁
홈페이지에 계정 사용량, DB 사용량, 현재 트래픽 출력하기
2010.03.29 01:51
오래전부터 제 홈페이지 카운터 아래부분에 계정의 정보를 출력하도록 했었는데요... (좀 있어 보이려고... ^^)
제로보드4 시절에는 관련 팁이 많아서 그냥 소스 퍼가서 사용하면 됐는데 XE로 오면서 관련 팁이 안보이더라구요...
그래서 여기 저기서 소스 긁어다가 붙여보니 잘 작동 하더군요....
그런데 여긴 [XE 팁 공유]란인데 이게 게시판 용도에 맞는지 모르겠습니다.
예전에는 PHP나 프로그램밍 언어를 공부하는 게시판이 따로 있었는데 지금은 없네요...ㅜ,.ㅜ
제가 사용한 소스는 아래와 같습니다.
<?php
// 계정 사용량 출력 ////////////////////////////////////////////////////////////////
function size($size) {
$unit = Array(" Byte"," KB"," MB"," GB");
if(!$size)
return "0".$unit[0];
if($size < 1024) // 바이트
return $size.$unit[0];
if($size > 1024 && $size < 1024*1024) // 킬로바이트
return sprintf("%0.1f ".$unit[1], $size / 1024);
if($size > 1024*1024 && $size < 1024*1024*1024) // 메가바이트
return sprintf("%0.1f ".$unit[2], $size / (1024*1024));
if($size > 1024*1024*1000 && $size < 1024*1024*1024*1024) // 기가바이트
return sprintf("%0.1f ".$unit[3], $size / (1024*1024*1000));
}
$select_dir = @chdir("디렉토리경로");
$du = `du -sb`;
$du = str_replace(".","", $du);
$du = trim($du);
$du = size($du);
// 계정 사용량 출력 ////////////////////////////////////////////////////////////////
// Mysql 사용량 출력 (수정하세요) ////////////////////////////////////////////////////////////////
$host="localhost"; // 호스트명.
$user_name=""; // 자신의 계정 아이디를 적으시면 됩니다.
$db_name=""; // 자신의 MySQL DB 아이디를 적으세요.
$db_password=""; // 자신의 DB의 패스워드 입니다.
// 데이터 베이스 접속
$dbcon = mysql_connect($host,$user_name,$db_password) or message(mysql_error());
mysql_select_db($db_name,$dbcon) or message(mysql_error());
// 전체 테이블 현황을 불러오는 쿼리문
$result = mysql_query("SHOW TABLE STATUS", $dbcon);
$total_size = 0;
$num = 1;
// 데이터베이스 크기구하는 반복문
while($dbData=mysql_fetch_array($result)){
$total_size += $dbData[Data_length]+$dbData[Index_length];
$num++;
}
// Mysql 사용량 출력 ////////////////////////////////////////////////////////////////
// 닫기
mysql_close($dbcon);
// 현재 트래픽 출력 ////////////////////////////////////////////////////////////////
ini_set("allow_url_fopen","1");
$throttle = "자신의 홈페이지주소/throttle-me/";
$file = file($throttle);
$traffic = sprintf("%0.2fMB",strip_tags($file[43]) / 1024); // 44번 라인을 읽어서 태그를 없애고 MB단위로...배열은 0부터 44-1 = 43
// 현재 트래픽 출력 ////////////////////////////////////////////////////////////////
echo "<p style='background-color: white; border: 1px solid #eee; padding: 10px 0 10px 14px; margin-top: 5px; line-height: 17px; border: 1px solid #eee; text-align: left; font-size: 8pt; color: #777;'>";
echo "하드사용량 : ";
echo $du;
echo "<br />";
echo "디비사용량 : ";
printf("%0.2f MB",$total_size / (1024*1024));
echo "<br />";
echo "현재트래픽 : ";
echo $traffic;
echo "</p>";
?> 위의 소스를 stasus.html 로 저장하시고, 적용하고자 하는 곳에 불러오면 됩니다.
저는 layout.html 에 인클루드로 불러왔습니다.
<!--#include("./stasus.html")--> 위에서 계정 정보를 입력해야 하고, 트래픽 출력을 위해 홈페이지 주소를 입력해야 합니다.
주의하실 점은 트래픽 출력을 위해서는 계정에 throttle-me 이 설치되어 있어야 합니다.
throttle-me 이 설치되어 있지 않다면 관련 부분을 주석처리 하거나 삭제하셔야 겠죠?
참고로 비누넷 사용자들은 그냥 사용하시면 됩니다.
- [2017/08/08] 묻고답하기 시놀로지 XE 설치시 DB 연결 실패 *4
- [2016/03/24] 묻고답하기 폴더안 txt 문서를 php explode 하여 mysql 에 넣는 과정이 안됩니다ㅠㅠ
- [2015/10/29] 묻고답하기 [DB] xe_document_histories 라는 곳에 있는 것들을 지워도 되나요? *2
- [2014/08/29] 묻고답하기 게시글이동 쿼리질문입니다 *2
- [2014/05/11] 묻고답하기 도와주세요ㅠㅠ갑자기 관리자페이지랑 홈페이지가 안들어가지네요ㅠㅠ
댓글 7
-
ㅠㅠㅠ
2010.03.30 14:39
-
SMaker
2010.03.30 18:33
호스팅 받는 곳에 따라 트래픽을 볼 수 있는 주소가 다릅니다.
-
throttle-me
- mytraffic
-
... 등
그 외에도 몇개 더 있는데 기억이 안나네요 ㅠ
-
-
휴우
2010.04.01 00:27
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'blog'@'localhost' (using password: YES) in /home/hosting_users/blog/www/status.html on line 28
Fatal error: Call to undefined function message() in/home/hosting_users/blog/www/status.html on line 28이런 에러메세지가 나면서 안 되네요. 뭐가 문제일까요?
-
klaist
2010.04.01 07:27
22.// Mysql 사용량 출력 (수정하세요) ////////////////////////////////////////////////////////////////23.$host="localhost";// 호스트명.24.$user_name="";// 자신의 계정 아이디를 적으시면 됩니다.25.$db_name="";// 자신의 MySQL DB 아이디를 적으세요.26.$db_password="";// 자신의 DB의 패스워드 입니다위 부분 정확히 수정하셨는지 다시 한번 확인해보세요 -
뇌제
2010.04.04 10:50
흠. 파란은 file이 안먹혀서 소켓으로 긁어서 실행 되게 만들고 작동까지 가능하게 만들었는데..
왜..
<!--#include("./stasus.html")--> 로 불러들이면 아예 불러오지를 못하는 걸까. 문제로세 '^'; -
대류
2010.04.05 01:08
<!--#include("./stasus.html")-->경로상의 문제인지 확인해 보세요...위의 경우는 layout.html 파일과 같은 위치에 있을 때 입니다.stasus.html 의 위치를 layout 폴더로 옮기시던지, 경로를 맞게 수정하시면 되겠지요? -
무하뉘
2010.06.22 15:49
다른건 다알았는데 윈도우 계열에 APM_Setup을 설치후에 XE설치하고 표시하는데 다른건 다되는데 "하드용량" 부분은 안되네요 방법이 없는건가요?
미리내는 안되네여 ㅠㅠ