파일 업로드 관해서

파일 업로드 관해서

QA

파일 업로드 관해서

본문

배열로 파일을 받고 있습니다.

근데 첨부파일을 넣지않고 하면 $body_file 이 공백으로 출력이 됩니다.ㅠㅠ

기존 DB에서 불러와야 되는건가요 첨부파일을? 그리고 입력부분에 변경된 내역이 있으면

배열로 받아서 달라진 점을 수정해서 쿼리 업데이트를 해야하는건지..ㅠ

 


<input type="hidden" name="kc_file_num" id="kc_file_num" value="<?php echo$kc['kc_file_num']?$kc['kc_file_num']:"0";?>">
 
<? $k=0; for($i=0;$i<$kc['kc_file_num'];$i++) { $k++; ?>
        <tr>
            <th scope="row"><label for="kc_content[<?php echo $k?>]">본문 이미지 <?php echo $k;?></label></th>
            <td colspan="3">
            <?php
                    $img_st = explode("|", $kc['kc_content']);
                    $img_path = str_replace(G5_URL,'',$img_st[$k]);
                    $img_path = str_replace("/","\\",$img_path);
                    if($kc['kc_content']) { $img_path = "..".$img_path; }
            ?>
            <input type="file" name="kc_content[<?php echo $k?>]" id="kc_content" multiple>
            <?
                if (file_exists($img_path)) {
                    echo '<BR /><BR /><input type="checkbox" id="kc_body_src_del" name="kc_body_src_del" value="1">이미지 삭제';
                    echo '<BR /><img src="'.$img_path.'" width="50%" alt="">';
                }
            ?>
            </td>
        </tr>
        <?}?>
 
<script>
var num = $('#kc_file_num').val();
function content_add()
{
    num++;
    $('#kc_file_num').val(num);
    $('#tb > tbody:last').append('<tr><th scope="row"><label for="kc_content['+ num +']">본문 이미지 '+ num +'</label></th><td colspan="3"><input type="file" name="kc_content['+ num +']" id="kc_content"></td></tr>');
}
</script>

 


for($k=0;$k<$_POST['kc_file_num'];$k++)
{
    // 이미지 저장
    if (is_uploaded_file($_FILES['kc_content']['tmp_name'][$k])) {
        if (!preg_match("/(\.jpg)$/i", $_FILES['kc_content']['name'][$k])) {
            alert($_FILES['kc_content']['name'][$k] . '은(는) jpg 파일이 아닙니다.');
        }
        if (preg_match("/(\.jpg)$/i", $_FILES['kc_content']['name'][$k])) {
        @mkdir(G5_DATA_PATH.'/kc/invited/'.$dateymd.'/'.$_POST['kc_id'].'/body/', G5_DIR_PERMISSION);
        @chmod(G5_DATA_PATH.'/kc/invited/'.$dateymd.'/'.$_POST['kc_id'].'/body/', G5_DIR_PERMISSION);
        //@unlink($img_path); // 기존 이미지가 있으면 삭제 후 진행 함
        //$head_file = "";
        $dest_path = G5_DATA_PATH.'/kc/invited/'.$dateymd.'/'.$_POST['kc_id'].'/body/';
        $md5_img = md5_file($_FILES['kc_content']['tmp_name'][$k]).".jpg";
        move_uploaded_file($_FILES['kc_content']['tmp_name'][$k], $dest_path.$md5_img);
        chmod($dest_path, G5_FILE_PERMISSION);
        $body_file = "|";
        $body_file .= G5_DATA_URL.'/kc/invited/'.$dateymd.'/'.$_POST['kc_id'].'/body/'.$md5_img;
        echo $body_file;
        }
    }
}

이 질문에 댓글 쓰기 :

답변 1

파일이 올라와 있는지 없는지

if문으로 판단하여 

파일이 올라와있다면 모든 내용을 업데이트하고

파일이 올라와 있지 않다면 파일을 제외한 나머지 부분만 업데이트 하면 될 것 같습니다.

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

회원로그인

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