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

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

강력드라이브 1년 전 조회 1,945

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

 

http://sir.kr/data/editor/2402/981365793_1708942365.5602.png" />

 

 

</p>

<p><?php if ($is_file && (int)$board['bo_upload_count'] > 0) { // 첨부파일 ?>

                <?php

                    na_script('fileinput');</p>

<p>                    // URL 확장자 추출 ( com, co.kr, kr, net 등 )

                    $path_parts = pathinfo($_SERVER["HTTP_HOST"]);

                    $url_extension = $path_parts[extension];</p>

<p>                    // 칼럼

                    $file_col = ($is_file_content) ? 'col-sm-6' : 'col';</p>

<p>                    $file_script = "";

                    $file_length = -1;

                    // 수정의 경우 파일업로드 필드가 가변적으로 늘어나야 하고 삭제 표시도 해주어야 합니다.

                    if ($w == "u") {

                       <strong> for ($i=0; $i<$file['count']; $i++) {</strong>

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

                                }</p>

<p>                                $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;

                    }</p>

<p>                    if ($file_length < 0) {

                        $file_script .= "add_file('');\n";

                        $file_length = 0;

                    }    

                ?></p>

<p>            <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></p>

<p>                <table id="variableFiles" class="w-100"></table></p>

<p>                <script>

                    var flen = 0;

                    function add_file(delete_code) {</p>

<p>                        var upload_count = <?php echo (int)$board['bo_upload_count']; ?>;

                        if (upload_count && flen >= upload_count) {

                            alert("이 게시판은 "+upload_count+"개 까지만 파일 업로드가 가능합니다.");

                            return;

                        }</p>

<p>                        var objTbl;

                        var objNum;

                        var objRow;

                        var objCell;

                        var objContent;

                        if (document.getElementById)

                            objTbl = document.getElementById("variableFiles");

                        else

                            objTbl = document.all["variableFiles"];</p>

<p>                        objNum = objTbl.rows.length;

                        objRow = objTbl.insertRow(objNum);

                        objCell = objRow.insertCell(0);</p>

<p>                        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>";</p>

<p>                        objCell.innerHTML = objContent;</p>

<p>                        bsCustomFileInput.init();</p>

<p>                        flen++;

                    }</p>

<p>                    <?php echo $file_script; //수정시에 필요한 스크립트?></p>

<p>                    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></p>

<p>

 

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

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

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

 

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

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

답변 3개

채택된 답변
+20 포인트

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

</p>

<p><?php

$is_file_content = true; // 예시로 true로 설정하였습니다. 실제로는 적절한 조건에 따라 설정되어야 합니다.</p>

<p>// 나머지 코드...</p>

<p>if ($is_file_content) {

    // $is_file_content가 true일 때의 처리 로직

} else {

    // $is_file_content가 false일 때의 처리 로직

}</p>

<p>// 나머지 코드...

?>

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

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

css 등 디자인쪽을 한번 보시는게..

css 등에서 1개만 노출되도록 되어 있을 수 있습니다.

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

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

1년 전

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

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

 

 

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

답변에 대한 댓글 1개

강력드라이브
1년 전
답변 감사드립니다.

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

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

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

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

로그인