a파일을 b라는 드렉 토리에 자동 카피하고 싶습니다 > 그누4 질문답변

그누4 질문답변

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

a파일을 b라는 드렉 토리에 자동 카피하고 싶습니다 정보

a파일을 b라는 드렉 토리에 자동 카피하고 싶습니다

본문

안녕하세요..먼저 이글에 관심을 가져주신분들께 감사드립니다..
꼭 해보고 싶은 생각이 있는데 마음대로 안되는군요..
많은 가르침 부탁드립니다..
질문)
========================================
/
/gnu4/myfolder/kb.php
/club
/gnu4/myfolder/index/index.php
=========================================

위는 제가 사용하고 있는 파일의 경로라고 가정합니다
그런데 제가 하고 싶은것은..
kb.php를 실행하여.../gnu4/myfolder/index/index.php에 위치한 index.php파일을/club드렉토리에 카피해서 넣고 싶습니다.
어떻게 해야 하는지 좀 알려주세요^^
예)
//index.php 복사
$file = '../../club/$cb_id';
if (!file_exists($file)) {
@unlink($file);
copy('../index/index.php', $file);
chmod ($file, 0606);
} else {
    echo ("
         <div style='width:350;margin:20 0 0 0;text-align:justify;'>
         파일이 존재하지 않는것 같습니다
         </div>
            ");
}
이런식으로 하면 될것도 같은데..도저히 응용을 하지 못하겠네요
혹시 아시는 분들의 많은 조언과 답변좀 부탁드립니다^^
 
감사합니다

댓글 전체

$file = '../../club/$cb_id';

=>

$club_dir="../../club/$cb_id"; // '가 아니라 "입니다.
@mkdir( $club_dir, 707);
if( copy('../index/index.php', $club_dir) ) {
chmod ($club_dir.'/index.php', 0606);
} else {
    echo ("
        <div style='width:350;margin:20 0 0 0;text-align:justify;'>
        파일이 존재하지 않는것 같습니다
        </div>
            ");
}
cb_open.update.php

========================

<?
include_once "./_common.php";

if (!$member[mb_id]) {
error_msg("로그인 후에 이용하세요");
}

if (!$_POST[cb_id]) { alert("클럽 ID는 반드시 입력하세요."); }
if (!ereg("^([A-Za-z0-9_]{1,20})$", $_POST[cb_id])) { alert("클럽 아이디는 공백없이 영문자, 숫자, _ 만 사용 가능합니다. (20자 이내)"); }
if (!$_POST[cb_name]) { alert("클럽명을 입력하세요."); }

// 회원의 최대 클럽 생성수 첵
if ($is_admin != "super") {
    $limits = sql_total($nc[tbl_club], "cb_manager", $member[mb_id]);
    if ($nc[nf_limits] && $limits >= $nc[nf_limits]) {
        alert("한 회원이 생성할수 있는 클럽수는 $nc[nf_limits] 개 까지 입니다.");
    }
}

// 클럽 아이디 중복 첵
$chk_id = sql_total($nc[tbl_club], "cb_id", $_POST[cb_id]);
if ($chk_id > 0) {
    alert("{$_POST[cb_id]} 은(는) 이미 존재하는 클럽아이디 입니다.");
}

// 게시판 아이디 중복 첵
$check_bo = sql_total($g4[board_table], "bo_table", $_POST[cb_id]);
if ($chk_bo) {
    alert("{$_POST[cb_id]} 은(는) 이미 존재하는 클럽아이디 입니다.");
}

$is_open        = false;
$cb_id          = $nc[cb_disc]. strip_tags($cb_id);
$cb_name        = strip_tags($cb_name);
$cb_keyword    = strip_tags($cb_keyword);
$cb_content    = strip_tags($cb_content);
$cb_state      = 1;
$cb_join_level  = 2;
$cb_opendate    = $g4[time_ymdhis];
$cb_regdate    = $g4[time_ymdhis];

$sql_menu = "";
$menu    = explode("|", $nc[nf_menu_list]);
$i = 0;
foreach ($menu as $value) {
    $sql_menu .= " ('', '$cb_id', '$value', 1, 90, 90, 'B', '', 2, '', '', '', '', '') ";
    if (count($menu)-1 != $i) {
        $sql_menu .= " , ";
    }
   
    $i++;
}

// 관리자 승인후 개설 이라면.
if ($nc[nf_opentype] == 1) {
    $cb_state    = "4";
    $cb_opendate  = "";
}

if ($cb_type == 2 || $cb_type == 3) {
    $cb_join_level = 1;
}

$sql = " insert into $nc[tbl_club]
                set cb_id = '$cb_id',
                    cb_name = '$cb_name',
                    cb_manager = '$member[mb_id]',
                    cc_id = '$cc_id',
                    cb_type = '$cb_type',
                    cb_state = '$cb_state',
                    cb_join = 'Y',
cb_join_level = '$cb_join_level',
cb_ask_use = 'N',
cb_latest_use = 'Y',
cb_latest_cols = '2',
cb_latest_rows = '5',
                    cb_latest_len = '40',
                    cb_top_method = '1',
                    cb_top_skin = 'images/tskin_bg_07.gif',
cb_box_line_skin = '#E2E2E2',
cb_box_bg_skin = '#F7F7F7',
cb_board_skin = 'art_beige',
cb_latest_skin = 'default',
cb_coverstory_skin = 'default',
                    cb_recommend = 'N',
                    cb_point = '$cb_point',
                    cb_total_member = '1',
                    cb_opendate = '$cb_opendate',
                    cb_regdate = '$cb_regdate',
                    cb_1 = '$cb_1',
                    cb_2 = '$cb_2',
                    cb_3 = '$cb_3',
                    cb_4 = '$cb_4',
                    cb_5 = '$cb_5' ";
$result = sql_query($sql);

if ($result) {
$sql = " insert into $nc[tbl_cb_info]
set cb_id = '$cb_id',
cb_keyword = '$cb_keyword',
cb_ask_body = '$cb_ask_body',
cb_content = '$cb_content' ";
sql_query($sql);

$sql = " insert into $nc[tbl_member]
set cb_id = '$cb_id',
mb_id = '$member[mb_id]',
cm_level = '100',
cm_visit = '1',
cm_reply = '',
cm_logdate = '$g4[time_ymdhis]',
cm_regdate = '$g4[time_ymdhis]',
cm_1 = '$cm_1',
cm_2 = '$cm_2',
cm_3 = '$cm_3',
cm_4 = '$cm_4',
cm_5 = '$cm_5' ";
sql_query($sql);

$sql = " INSERT INTO $nc[tbl_menu]
                    (`cn_id`, `cb_id`, `cn_name`, `cn_view_level`, `cn_write_level`, `cn_del_level`, `cn_type`, `cn_url`, `cn_idx`, `cn_1`, `cn_2`, `cn_3`, `cn_4`, `cn_5`)
              VALUES $sql_menu ";
    sql_query($sql);
   
    $sql = " INSERT INTO $nc[tbl_mb_level]
                        (`ml_id`, `cb_id`, `cm_level`, `ml_name`, `ml_1`, `ml_2`, `ml_3`, `ml_4`, `ml_5`)
                  VALUES ('', '$cb_id', 1, '가입대기', '', '', '', '', ''),
                        ('', '$cb_id', 2, '준회원', '', '', '', '', ''),
                        ('', '$cb_id', 3, '정회원', '', '', '', '', ''),
                        ('', '$cb_id', 4, '우대회원', '', '', '', '', ''),
                        ('', '$cb_id', 5, 'VIP회원', '', '', '', '', ''),
                        ('', '$cb_id', 90, '스텝', '', '', '', '', ''),
                        ('', '$cb_id', 100, '매니저', '', '', '', '', '') ";
    sql_query($sql);
   
    $sql = " update $nc[tbl_category] set cc_total = cc_total + 1 where cc_id = '$cc_id' ";
    sql_query($sql);
   
$is_open = true;
}

$bo_table = $cb_id;
include_once "./include/club_create.inc.php";

// 디렉토리가 없다면 생성합니다. (퍼미션도 변경하구요.)
@mkdir("$nc[cb_path]/data/$cb_id", 0707);
@chmod("$nc[cb_path]/data/$cb_id", 0707);

//루트에 디렉토리생성
@mkdir("../../club/$cb_id", 0707);
@chmod("../../club/$cb_id", 0707);

if ($nc[nf_opentype] == 1) {
    $url = "./club_index.php";
} else {
    $url = "./club_main.php?cb_id=$cb_id";
}


//index.php 복사
//$file = '../../club/$cb_id';
$club_dir="../../club/$cb_id/"; // '가 아니라 "입니다.
//@mkdir( $club_dir, 707);
if( copy('index/index.php', $club_dir) ) {
chmod ($club_dir.'/index.php', 0606);
} else {
    echo ("
        <div style='width:350;margin:20 0 0 0;text-align:justify;'>
        파일이 존재하지 않는것 같습니다
        </div>
            ");
}
frame_url($url);
?>
=====================================

클럽을 주소를 http://개정/club/cb_id
/gnuboard4/club/index/index.php를 임으로 만들고
=======
index.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 
<?
//자바스크립트를 이용하는 방법
      echo("<script>location.replace('http://hihanin.com/gnuboard4/club/club_main.php?cb_id=cb_a');</script>");
?>


</head>

<body>
</body>
</html>
=============================
이런식으로 할려고
admin/install1.php에서

//루트에 디렉토리생성
@mkdir("../../../club", 0707);
@chmod("../../../club", 0707);

을 추가하여 /club생성에 성공했습니다..
위의 cb_open.update.php 파일에
============================
//루트에 디렉토리생성
@mkdir("../../club/$cb_id", 0707);
@chmod("../../club/$cb_id", 0707);

if ($nc[nf_opentype] == 1) {
    $url = "./club_index.php";
} else {
    $url = "./club_main.php?cb_id=$cb_id";
}


//index.php 복사
//$file = '../../club/$cb_id';
$club_dir="../../club/$cb_id/"; // '가 아니라 "입니다.
//@mkdir( $club_dir, 707);
if( copy('index/index.php', $club_dir) ) {
chmod ($club_dir.'/index.php', 0606);
} else {
    echo ("
        <div style='width:350;margin:20 0 0 0;text-align:justify;'>
        파일이 존재하지 않는것 같습니다
        </div>
            ");
}
===============================
이부분을 추가 해서 /gunboard4/club/index/index.php파일을  /club/cb_id에 복사해 넣으려고 하는데..
어떤 방법이 없을까요?
설명이 무지 긴데..제대로 됐는지 모르겠네요..

아시면 조언좀 부탁 드립니다
감사합니다
club/cb_open.update.php
에는 아래부분을 추가
=======================================

//루트에 디렉토리생성
@mkdir("../../club/$cb_id", 0707);
@chmod("../../club/$cb_id", 0707);

if ($nc[nf_opentype] == 1) {
    $url = "./club_index.php";
} else {
    $url = "./club_main.php?cb_id=$cb_id";
}


//index.php 복사
//$file = '../../club/$cb_id';
$club_dir="../../club/$cb_id/"; // '가 아니라 "입니다.
//@mkdir( $club_dir, 707);
if( copy('index/index.php', $club_dir) ) {
chmod ($club_dir.'/index.php', 0606);
} else {
    echo ("
        <div style='width:350;margin:20 0 0 0;text-align:justify;'>
        파일이 존재하지 않는것 같습니다
        </div>
            ");
}

==========================================================
club/admin/install1.php에는

//루트에 디렉토리생성
@mkdir("../../../club", 0707);
@chmod("../../../club", 0707);
을 추가했습니다..

그리고
=================

club/index/index.php
를 만들어 넣었죠(club안에 index드렉토리를 만들고 index드렉토리 안에 index.php를 만들어 넣었죠..

index.php내용은 아래와 같습니다

====================
=======
index.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 
<?
//자바스크립트를 이용하는 방법
      echo("<script>location.replace('http://hihanin.com/gnuboard4/club/club_main.php?cb_id=cb_a');</script>");
?>


</head>

<body>
</body>
</html>
=============================

그리고  크럽을 생성하면..
/아래 club이라는 드랙토리가 생기고 그안에..클럽 생성 아이디(cb_id)라는 드렉토리가 생깁니다..
그리고 cd_id드렉토리에 club/index/index.php 파일을 복사 해 넣는거죠^^

이해가 가세요?
뭔지 이해는 가는데 지금 문제점이 무엇인가요?

이 글의 셋째 코멘트에 있는 소스가 에러가 나는 것인가요?
아니면, 에러는 없지만 제대로 동작을 안 하는 것인가요?

//index.php 복사
//$file = '../../club/$cb_id';
$club_dir="../../club/$cb_id/"; // '가 아니라 "입니다.
//@mkdir( $club_dir, 707);
if( copy('index/index.php', $club_dir) ) {
chmod ($club_dir.'/index.php', 0606);
} else {

지금 이 코드가 아래 기준으로 myfolder에 있는 거라면

파일 경로 맞는 것일 텐데...

========================================
/
/gnu4/myfolder/kb.php
/club
/gnu4/myfolder/index/index.php
=========================================
모두 수정을하고  클럽을 생성하면 아래 링크와 같은 오류가 납니다..
클럽 아이디를 kim으로 생성하면club/cb_open.update.php 로 넘어 가 면서 오류가 링크와 같이 납니다..
물론 index.php파일을 생성하지도 못하고요..

http://hihanin.com/err.jpg

감사합니다
copy( ../../club/cb_kim/): failed to open stream ... 라고 에러가 나는 걸 봐서는

@mkdir("../../club/$cb_id", 0707);

이 때 디렉터리가 안 생겼나 봅니다. 맨 앞에 @를 빼면
에러 메시지가 나오니 그걸 보여 주세요.

아마도 ../../club가 잘못된 경로인듯 하네요.
현재 디렉터리(이 스크립트를 include한 스크립트가 있는 디렉터리 또는, 이 스크립트가 있는 디렉터리)
에서 club 위치를 따져 보세요.
/ home / public_html / gnuboard4 / club /club/cb_open.update.php (실행시키는 파일)
/ home / public_html / gnuboard4 / club /club/index/index.php(카피해야 할 파일이들어 있는 경로)
 / home / public_html / club(새로 생성된 드렉토리)/cb_id(이곳에다 index.php를 카피해 와야함)

이런순서 되어 있습니다..
다시한번 도움 부탁 드립니다

감사합니다
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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