디렉토리 생성에 관하여... > 그누4 질문답변

그누4 질문답변

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

디렉토리 생성에 관하여... 정보

디렉토리 생성에 관하여...

본문

링크에 있는 팁으로 회원아이디로 2차도메인용 디렉토리를 생성하려고 합니다. (사실 제가 올린 팁;;)
근데 먼저 홈페이지에서는 분명히 이게 되었는데 이번에는 도무지 안되는군요.
 
우선 소스부터 보여드리겠습니다.
 
 
<?
include_once("./_common.php");
include_once("./_head.php");
$sub_dir = "$member[mb_id]";
$tmp = @dir("../$sub_dir");
if ($tmp) {
echo "<meta http-equiv=\"refresh\" content=\"0; url=/_center/?mbid=$member[mb_id]\">";
} else {
@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=/_center/?mbid=$member[mb_id]\">") or Error("실패<br><br>완성","");
@fclose($file);
echo "<center>축하드립니다.<br><b>{$member[mb_name]}</b>님의 홈페이지가 만들어졌습니다.<br>";
echo "도메인은 <b style=font-size:15px;color:#888888;>www.홈페이지.com/<span style=color:#333333;>{$member[mb_id]}</span></b>입니다.<br>";
echo "5초 후에 홈페이지도 이동합니다.<p>";
echo "<a href={$g4[path]}/?mbid={$member[mb_id]}>바로 가기</a>";
echo "<meta http-equiv=\"refresh\" content=\"5; url={$g4[path]}/?mbid={$member[mb_id]}\">";
}
include_once("./_tail.php");
?>
 
 
이걸 dir_mk.php로 저장해서 그누보드 디렉토리에 올렸습니다. 그리고 회원이 로그인 상태에서 이 문서를 부르면 자신의 아이디와 같은 디렉토리가 서버에 생깁니다. 즉 www.홈페이지.com/Myid 이런 식이죠.
 
그런데 그 문서를 부르니까 자꾸 아래와 같은 에러가 뜨는군요.
 
 
Fatal error: Call to undefined function: error() in /home1/bglaw8/public_html/_center/dir_mk.php on line 14
 
 
여기서 14번째 줄은 아래더군요.
 
 
$file=@fopen("../$member[mb_id]/index.php","w") or Error("실패<br><br>완성","");
 
 
똑같은 소스로 이전 홈페이지에서는 전혀 이상이 없었는데 도저히 원인을 알 수가 없군요ㅜㅜ
오늘까지가 기한인데 원하신다면 계정까지 공개해드릴 용의가 있으니 맘씨좋은 고수님의 선처를 바라겠습니다.
 
(흐... 밤새부렀다...)
  • 복사

댓글 전체

댓글보시고 기대하셨을텐데 죄송합니다....

상당히 기대되는(?)분의 댓글을 받으셨네요.....에구구......

대단하신 분은 틀림없는것 같네요.....

혹 @mkdir("../$member[mb_id]",0777); 문장을

생성문과 퍼미션문으로 나누어 보시지요....
또 밤을 새우신듯 합니다.^^

혹시,
서버를 옮기셨거나, php버전업을 하셨다면,,
환경설정에서 allow_url_fopen on/off 와 관련이 있을지도 모르겠습니다.
<?
phpinfo();
?>

달랑 위 내용으로 계정에 ***.php 파일로 업로드후 호출해보세요.
올라온 페이지에서 allow_url_fopen 으로 검색해보시면 설정을 확인할실수 있습니다.
감사합니다^^ 확인해봤더니..

allow_url_fopen : Off(Local Value) Off(Master Value)

현재 이렇군요. 이러면 디렉토리 생성을 못하는 건가요?
이걸 가능하게 풀려면 어떻게 해야 될까요?
고수님들 다 어디가셨을까잉??

@fopen 에서 @를 제거하고, 절대경로로 입력후 에러 메시지를 확인해보세요.

$file=fopen("절대경로/$member[mb_id]/index.php","w") or Error("실패<br><br>완성","");
Warning: fopen(): URL file-access is disabled in the server configuration in /home1/bglaw8/public_html/_center/dir_mk.php on line 14

Warning: fopen(http://hompy.com/aaaa/index.php): failed to open stream: no suitable wrapper could be found in /home1/bglaw8/public_html/_center/dir_mk.php on line 14

Fatal error: Call to undefined function: error() in /home1/bglaw8/public_html/_center/dir_mk.php on line 14


이런 메세지가 뜨는군요;;
근데 절대경로가 http://hompy.com/... 이렇게 시작하는것이 맞죠?
/home1/bglaw8/public_html/~~ 이런식인데,,
아무튼,
fopen() 을 막아놓았다는 것입니다.
서버 환경이 allow_url_fopen : Off 이고,
php버전(4.3.4이상)이 그것을 제대로 체크한다고 보시면 됩니다.

소켓 - fsockopen() 으로 구현하는 방법을 찾아보셔야 할듯 합니다.
팁테크쪽에서 fsockopen, 질답란에서 fopen으로 검색해보시면 도움이되실듯 합니다.
감사합니다^^;

/home1/bglaw8/public_html/.. 이걸로도 해보니까 역시 안되더군요. 근데 다른 사이트도 똑같은 호스팅을 쓰고 있거든요. 거참..
아무튼 신경써주셔서 감사드립니다. 일단 이 문제는 일단락지어야..ㅜㅜ
© SIRSOFT
현재 페이지 제일 처음으로