회원 아이디명으로 디렉토리 만들기 > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

회원 아이디명으로 디렉토리 만들기 정보

회원 아이디명으로 디렉토리 만들기

본문

링크의 phpschool에서 본 팁을 그누에 맞게 고쳤습니다. (아주 조금;;;)

포탈의 블로그나 미니홈피처럼 회원아이디명으로 디렉토리를 만들어서 2차도메인으로 부여해줄 때 쓰면 되겠습니다. 이걸 몰라서 그동안 ftp에서 수동으로 폴더를 만든 다음 파일을 엎로드했습니다 -_-;; (진작 알았더라면..)

제가 하는 방법은 말그대로 초보수준이니 고수님들의 조언도 적극 환영입니다.


<?
include_once("./_common.php");
@mkdir("../$member[mb_id]",0777);
$file=@fopen("../$member[mb_id]/index.php","w") or Error("실패<br><br>완성","");
@fwrite($file,"<meta http-equiv=\"refresh\" content=\"0; url=/g4/?mbid=$member[mb_id]\">") or Error("실패<br><br>완성","");
@fclose($file);
?>

이걸 그누보드 디렉토리에 적당한 이름으로 저장합니다. (예 : mk_dir.php)
그리고 아무 회원의 아이디로 로그인 한 후 웹에서 http://도메인/g4/mk_dir.php 를 주소창에 넣고 띄웁니다. 그냥 홈피상에 저 주소를 링크를 걸고 클릭하게 해도 되겠죠.

이제 서버상에 그 회원아이디명의 폴더가 생깁니다. 그리고 그 폴더안에는 index.php라는 파일이 들어있는데 파일안의 내용은 이렇습니다.

<meta http-equiv="refresh" content="0; url=/g4/?mbid=userID">

위 소스의 네번째 줄이 그 내용이죠.
www.도메인/userID 로 접속하면 www.도메인/g4/?mbid=userID 로 포워딩시키는 겁니다.

이걸 적절하게 창조적(?)으로 응용하면 다양한 방법이 나올 거 같네요. 특정레벨 이상인 회원들만 2차도메인을 가질 수 있게 한다든지.....
추천
1

댓글 23개

좋은 정보 감사합니다...

위 내용을 관리자 화면에서 정의를 해주고

해당 생성 디렉토리 내에는 기본적인 인덱스 화일을 넣어주고 회원 로그인시 디렉토리 존재 유무를 판단해서

있다면 바로가기 링크를 생성하는 것도 좋을듯 합니다....
<?

$dirname ="$g4[path]/{$member[mb_id]}/";//요기서 {}으로 감싸주어야 하는지는 미 검증됨

if ($dirname) { //디렉토리가 있다면
어쩌구 저쩌구~~~ 달나라 별나라 콩깍지
} else {
미주알 ~~~~~~~
}

?>

하면 되지 않을 까 싶습니다.

아니면 adm/admin.lib.php의 get_skin_dir  를 참조해 보시는 것도~~~
죄송합니다...검증되지 않은 답으로 고생을 하셨습니다.....

아래 내용을 올리시고 한 번 해 보세요....^^ 제 계정에서는 검증이 되었지만...혹시나....

<?
// 상대 경로
$g4_path = ".";                               
include_once("$g4_path/_common.php");
$sub_dir = "$member[mb_id]";
$tmp = @dir("$g4[path]/$sub_dir");
if($tmp) {
echo "하하하하하호호호호호~!";
//alert("YOU WIN");
} else {
 alert("DIE");
}
?>

여기에서 $tmp 는 오브젝트로서 존재 유무만 파악을 합니다. 이동하시려면 opendir()를
이용하셔야 할듯 합니다.
감사합니다^^ 근데 소스를 보니까 생성된 디렉토리가 그누보드 디렉토리 안에 있는 걸 검색하는 거 같은데요?

그누보드와 동위선상에 있는 디렉토리들을 검색하려면 어떻게 해야 될까요?

$tmp = @dir("$g4[path]/$sub_dir"); // 이 부분을 수정해야 할 듯 한데...

제가 상대경로에 대한 개념이 아직 안 잡혀서;;;
음~~~!

이 좋은 팁으로 인해 뭔가가 하나 느낌이 팍팍 오는데 아마도 지금은 손 댈수가 없고

메모만 해 놓고 추후 검토해 보아야 겠습니다.

어쩌면 2차도메인(?) 활용에 큰 도움이 되겠습니다....^^
감사합니다^^ 낼 해봐야겠네요.

근데 file_exists -- 파일이 있는지 체크... 이게 디렉토리에도 해당이 될까요?

dir_exists -- 이렇게 하면 될런지....
file_exists : 지정된 파일이 존재하는지를 검사합니다....(file로 시작되는 것은 파일관련 함수 입니다)

dir  : 디렉토리를 읽기위한 가상의 오브젝트입니다...
is_dir

(PHP 3, PHP 4, PHP 5)
is_dir -- Tells whether the filename is a directory
Description
bool is_dir ( string filename )

Returns TRUE if the filename exists and is a directory. If filename is a relative filename, it will be checked relative to the current working directory.
좋은팁 공개 감사합니다..
문제는.. 루트가 정말.. 어지럽겠군요 ㅎㅎㅎ
아하 그래서.. 그렇군요..
xxxx.co.kr 이라면
home.xxxx.co.kr 의 도메인을 만들어서.. 그 하부 디렉토리로 셋팅을 하면 되겠군요..
그러면.. 루트로 심플하고 그래서 그렇구나.. 왜 이런 생각을 안했지 ^^;;
mod_rewrite를 쓰면.. 음... 하여간.. 둘다 알아두는것도..
블로그나 카페에서 실질적으로는 방을 만드나요?.
버츄얼 디렉토리로 알고 있습니다만...후후후^^;;


만약 방을 만든다면 참고는 해보십시요...^^;;


$is_blog_dir=dirname("$g4[path]/$member[mb_id]");
echo"회원디렉토리1: $is_blog_dir<br>";

$is_blog_base=basename("$g4[path]/$member[mb_id]");
echo"회원디렉토리2: $is_blog_base<br>";

$is_blog_index=basename("$g4[path]/{$member[mb_id]}/index.php");
echo"회원인덱스: $is_blog_index<br>";
이렇게만 하면 가상 디렉토리가 생겨서 2차도메인처럼 쓸 수 있는가요?^^;

index.php는 어디서 설정을 해주는지......

조금 더 알려주시면 안되겠는지요?
pearly님, 오달수님, 시리어스F님 / 제가 아직은 초봅니다^^;; 안 그래도 php스쿨에서도 회원수만큼 생기는 디렉토리에 대해서 지적을 하더군요. 어쨌거나 이번을 계기로 버추얼 디렉토리란 것도 알게 되었으니 또 공부꺼리가 생겼네요. 감사합니다^^
error 404 메세지를 취급하는 곳을
손보아서 해당 하는 페이지가 없으면
그 페이지 이름에 따라 새로운 곳으로
보내는 것을 보았습니다
대개는 홈으로 보내지만
저는 Fatal error: Call to undefined function: error() in /home/p1p2p2/public_html/mk_dir.php on line 4
이런 에러가 뜨는데 어떻게 해야 하나요?
전체 3,309 |RSS
그누4 팁자료실 내용 검색

회원로그인

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