첨부파일(이미지)가 1개만 불러와지네요

첨부파일(이미지)가 1개만 불러와지네요

QA

첨부파일(이미지)가 1개만 불러와지네요

본문

write에서 첨부 파일 2개 추가해서 저장 후 edit에서 보면 맨위에 1개만 불러와지네요.

 

981365793_1708942365.5602.png

 

 


<?php if ($is_file && (int)$board['bo_upload_count'] > 0) { // 첨부파일 ?>
                <?php
                    na_script('fileinput');
                    // URL 확장자 추출 ( com, co.kr, kr, net 등 )
                    $path_parts = pathinfo($_SERVER["HTTP_HOST"]);
                    $url_extension = $path_parts[extension];
                    // 칼럼
                    $file_col = ($is_file_content) ? 'col-sm-6' : 'col';
                    $file_script = "";
                    $file_length = -1;
                    // 수정의 경우 파일업로드 필드가 가변적으로 늘어나야 하고 삭제 표시도 해주어야 합니다.
                    if ($w == "u") {
                        for ($i=0; $i<$file['count']; $i++) {
                            if ($file[$i]['source']) {
                                $file_script .= "add_file('";
                                if ($is_file_content) {
                                    $file_script .= '<div class="'.$file_col.' mt-2 px-2"><input type="text" name="bf_content[]" value="'.addslashes(get_text($file[$i]['bf_content'])).'" class="form-control" placeholder="파일 내용 입력"></div>';
                                }
                                $file_script .= '<div class="col-12 mt-2 px-2 f-de"><div class="custom-control custom-checkbox">';
                                $file_script .= '<input type="checkbox" name="bf_file_del['.$i.']" value="1" id="bf_file_del'.$i.'" class="custom-control-input">';
                                //$file_script .= '<label class="custom-control-label" for="bf_file_del'.$i.'"><span>'.$file[$i]['source'].'('.$file[$i]['size'].') 파일 삭제 - <a href="'.$file[$i]['href'].'">열기</a></span></label>';        // 수정모드에서 첨부파일을 새창 열기&다움
                                $file_script .= '<label class="custom-control-label" for="bf_file_del'.$i.'"><span>'.$file[$i]['source'].'('.$file[$i]['size'].') 파일 삭제 - <img src="'.explode($url_extension, $file[$i]['href'])[1].'" style="width:100px; margin-top:10px; margin-left:40px;"> | <a href="'.$file[$i]['href'].'">변경</a></span></label>';
                                //$file_script .= '<div>'.$file[$i]['href'].'</div>';
                                $file_script .= '</div></div>';
                                $file_script .= "');\n";
                            } else {
                                $file_script .= "add_file('');\n";
                            }
                        }
                        $file_length = $file['count'] - 1;
                    }
                    if ($file_length < 0) {
                        $file_script .= "add_file('');\n";
                        $file_length = 0;
                    }    
                ?>
            <label class="col-md-2 col-form-label" for="img_text">리스트 이미지 첨부<strong class="sr-only">필수</strong></label>
            <div class="col-md-4">
                <button type="button" onclick="add_file();" class="btn btn-basic">
                    <span class="text-muted"><i class="fa fa-plus"></i> 파일 추가</span>
                </button>
                <button type="button" onclick="del_file();" class="btn btn-basic">
                    <span class="text-muted"><i class="fa fa-times"></i> 파일 삭제</span>
                </button>
                <table id="variableFiles" class="w-100"></table>
                <script>
                    var flen = 0;
                    function add_file(delete_code) {
                        var upload_count = <?php echo (int)$board['bo_upload_count']; ?>;
                        if (upload_count && flen >= upload_count) {
                            alert("이 게시판은 "+upload_count+"개 까지만 파일 업로드가 가능합니다.");
                            return;
                        }
                        var objTbl;
                        var objNum;
                        var objRow;
                        var objCell;
                        var objContent;
                        if (document.getElementById)
                            objTbl = document.getElementById("variableFiles");
                        else
                            objTbl = document.all["variableFiles"];
                        objNum = objTbl.rows.length;
                        objRow = objTbl.insertRow(objNum);
                        objCell = objRow.insertCell(0);
                        objContent = '<div class="row mx-n2">';
                        objContent += '<div class="<?php echo $file_col ?> mt-2 px-2"><div class="input-group"><div class="input-group-prepend"><label class="input-group-text" for="fwriteFile'+objNum+'">파일 '+objNum+'</label></div>';
                        objContent += '<div class="custom-file"><input type="file" name="bf_file[]" class="custom-file-input" title="파일 용량 <?php echo $upload_max_filesize; ?> 이하만 업로드 가능" id="fwriteFile' + objNum + '">';
                        objContent += '<label class="custom-file-label" for="imgboxFile" data-browse="선택"></label></div></div></div>';
                        if (delete_code) {
                            objContent += delete_code;
                        } else {
                            <?php if ($is_file_content) { ?>
                            objContent += '<div class="<?php echo $file_col ?> mt-2 px-2"><input type="text" name="bf_content[]" class="form-control" placeholder="파일 내용 입력"></div>';
                            <?php } ?>
                            ;
                        }
                        objContent += "</div>";
                        objCell.innerHTML = objContent;
                        bsCustomFileInput.init();
                        flen++;
                    }
                    <?php echo $file_script; //수정시에 필요한 스크립트?>
                    function del_file() {
                        // file_length 이하로는 필드가 삭제되지 않아야 합니다.
                        var file_length = <?php echo (int)$file_length; ?>;
                        var objTbl = document.getElementById("variableFiles");
                        if (objTbl.rows.length - 1 > file_length) {
                            objTbl.deleteRow(objTbl.rows.length - 1);
                            flen--;
                        }
                    }
                </script>
            </div>

 

파일 업로드 부분을 이렇게 쓰는데

file_count가 2로 for문이 돌아가는데

출력이 1개만 됩니다....ㅠㅠ

 

그리고 $is_file_content 가 안나오네요 그래서 for문 출력이 안되는걸까요

이 질문에 댓글 쓰기 :

답변 3

다음을 참고 하셔서 수정을 해 보시는건 어떨까 합니다.


<?php
$is_file_content = true; // 예시로 true로 설정하였습니다. 실제로는 적절한 조건에 따라 설정되어야 합니다.
// 나머지 코드...
if ($is_file_content) {
    // $is_file_content가 true일 때의 처리 로직
} else {
    // $is_file_content가 false일 때의 처리 로직
}
// 나머지 코드...
?>

for문 위에서 print_r($file); 해보세요

화일 2개의 정보가 나온다면  echo $file['count']; 해보세요

 

 

답변 감사드립니다.

print_r($file) 해보면 2개가 나옵니다.

$file['count'] 도 2가 나오구요.

그러면 루프 돌면서

$file_script .= "add_file('";
if ($is_file_content) {
$file_script .= '<div class="'.$file_col.' mt-2 px-2"><input type="text" name="bf_content[]" value="'.addslashes(get_text($file[$i]['bf_content'])).'" class="form-control" placeholder="파일 내용 입력"></div>';
}
$file_script .= '<div class="col-12 mt-2 px-2 f-de"><div class="custom-control custom-checkbox">';
$file_script .= '<input type="checkbox" name="bf_file_del['.$i.']" value="1" id="bf_file_del'.$i.'" class="custom-control-input">';
//$file_script .= '<label class="custom-control-label" for="bf_file_del'.$i.'"><span>'.$file[$i]['source'].'('.$file[$i]['size'].') 파일 삭제 - <a href="'.$file[$i]['href'].'">열기</a></span></label>';        // 수정모드에서 첨부파일을 새창 열기&다움
$file_script .= '<label class="custom-control-label" for="bf_file_del'.$i.'"><span>'.$file[$i]['source'].'('.$file[$i]['size'].') 파일 삭제 - <img src="'.explode($url_extension, $file[$i]['href'])[1].'" style="width:100px; margin-top:10px; margin-left:40px;"> | <a href="'.$file[$i]['href'].'">변경</a></span></label>';
//$file_script .= '<div>'.$file[$i]['href'].'</div>';
$file_script .= '</div></div>';
$file_script .= "');\n";

위 내용이 두번 출력이 되어야 하지 않나요??

답변을 작성하시기 전에 로그인 해주세요.
전체 0 | RSS
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

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