게시물 수정할때 file 값 문제입니다...

게시물 수정할때 file 값 문제입니다...

QA

게시물 수정할때 file 값 문제입니다...

본문


<form>
    <input type="hidden" name="is_id" value="<?php echo $is_id; ?>">
    <textarea name="is_content" value="is_content"></textarea>
    <?php for ($i=1; $i<4; $i++) { ?>
        <input type="file" name="bf_file[]" id="bf_file_<?php echo $i ?>">
    <?php } ?>
</form>

 


$is_content  = trim($_POST['is_content']);
$is_id       = (int) trim($_REQUEST['is_id']);
if($w == ""){
    $sql = "insert g5_shop_item_use
                set is_content = '$is_content',
                     bf_file1 = '{$_FILES['bf_file']['name'][0]}',
                     bf_file2 = '{$_FILES['bf_file']['name'][1]}',
                     bf_file3 = '{$_FILES['bf_file']['name'][2]}'
                where is_id = '$is_id' ";
    sql_query($sql);
} else if($w == "u"){
    $sql = "update g5_shop_item_use
                set is_content = '$is_content',
                     bf_file1 = '{$_FILES['bf_file']['name'][0]}',
                     bf_file2 = '{$_FILES['bf_file']['name'][1]}',
                     bf_file3 = '{$_FILES['bf_file']['name'][2]}'
                where is_id = '$is_id' ";
    sql_query($sql);
}

 

안녕하세요. 점심은 맛있게 드셨나요?

필드에는 bf_file1, bf_file2, bf_file3을 만들어서 글 등록까지는 문제없이 잘 되고 있습니다.

근데 글 수정누르고 아무것도 입력안한 상태에서 다시 submit을 하면 is_content 부분은 유지 되는데 (그누보드에서 가져온거라서 어떻게 유지 되는지는 모르겠습니다. 그래서 지금 질문 글에서는 value="is_content"를 넣었습니다.)

파일 부분은 유지가 안됩니다. update bf_file1,2,3 이부분 때문에 공란으로 들어간다는건 알게됐습니다.

근데 글 수정할때 이미 들어간 파일을 지우고 다시 업로드를 하는게 불편할거 같아서 덮어쓰기가 가능하게 update에 bf_file1,2,3을 넣었습니다.

 

질문은 첫 등록시 123.png 라는 첨부파일을 넣었다 치고 수정할때는 is_content만 바꿔서 올리면 DB에 bf_file1이 공란이 됩니다. 이걸 어떻게 하면 같은 파일을 다시 선택안하고 유지시킬 수 있을까요?

이 질문에 댓글 쓰기 :

답변 1

지금 하신 소스는 업로드한 파일정보를 넣는거라서 그렇습니다.

업로드 한 파일을 값이 있는때만 넣도록 변경하시면 될거 같습니다.

$sql_add = "";

if({$_FILES['bf_file']['name'][0]}) $sql_add .= ,bf_file1 = '{$_FILES['bf_file']['name'][0]}'";

~~

이런식으로 2,3추가하시고

 

 

$sql = "update g5_shop_item_use
                set is_content = '$is_content',
                     bf_file1 = '{$_FILES['bf_file']['name'][0]}',
                     bf_file2 = '{$_FILES['bf_file']['name'][1]}',
                     bf_file3 = '{$_FILES['bf_file']['name'][2]}'
                where is_id = '$is_id' ";

$sql = "update g5_shop_item_use
                set is_content = '$is_content'
                $sql_add
                where is_id = '$is_id' ";

로 해보세요

답변을 작성하시기 전에 로그인 해주세요.
전체 21
QA 내용 검색

회원로그인

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