테스트 사이트 - 개발 중인 베타 버전입니다

게시물 수정할때 file 값 문제입니다... 채택완료

museplay 6년 전 조회 2,284

</p>

<p><form></p>

<p>    <input type="hidden" name="is_id" value="<?php echo $is_id; ?>"></p>

<p>    <textarea name="is_content" value="is_content"></textarea></p>

<p>    <?php for ($i=1; $i<4; $i++) { ?></p>

<p>        <input type="file" name="bf_file[]" id="bf_file_<?php echo $i ?>"></p>

<p>    <?php } ?></p>

<p></form></p>

<p>

 

</p>

<p>$is_content  = trim($_POST['is_content']);</p>

<p>$is_id       = (int) trim($_REQUEST['is_id']);</p>

<p>if($w == ""){</p>

<p>    $sql = "insert g5_shop_item_use</p>

<p>                set is_content = '$is_content',</p>

<p>                     bf_file1 = '{$_FILES['bf_file']['name'][0]}',</p>

<p>                     bf_file2 = '{$_FILES['bf_file']['name'][1]}',</p>

<p>                     bf_file3 = '{$_FILES['bf_file']['name'][2]}'</p>

<p>                where is_id = '$is_id' ";</p>

<p>    sql_query($sql);</p>

<p>} else if($w == "u"){</p>

<p>    $sql = "update g5_shop_item_use</p>

<p>                set is_content = '$is_content',</p>

<p>                     bf_file1 = '{$_FILES['bf_file']['name'][0]}',</p>

<p>                     bf_file2 = '{$_FILES['bf_file']['name'][1]}',</p>

<p>                     bf_file3 = '{$_FILES['bf_file']['name'][2]}'</p>

<p>                where is_id = '$is_id' ";</p>

<p>    sql_query($sql);</p>

<p>}</p>

<p>

 

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

필드에는 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개

채택된 답변
+20 포인트
6년 전

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

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

$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' ";

로 해보세요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

m
museplay
6년 전
계속 헤매고 있었는데 감사합니다

덕분에 원하는 방법으로 적용이 됐습니다~^^

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인