첨부파일(이미지)가 1개만 불러와지네요
본문
write에서 첨부 파일 2개 추가해서 저장 후 edit에서 보면 맨위에 1개만 불러와지네요.
<?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']; 해보세요
css 등 디자인쪽을 한번 보시는게..
css 등에서 1개만 노출되도록 되어 있을 수 있습니다.
답변을 작성하시기 전에 로그인 해주세요.