아미나빌더에서 사용하는 위젯으로 갤러리 최근게시물처럼 배너를 출력하고 배너이미지 등록은 웨젯에서 등록하도록 했습니다. 사용방법은 아래와 같습니다. [code=php] <?p...
게시판 멀티 업로드 베이직 스킨
아래 두 파일 /bbs 폴드에 넣고
ajax_upload.php
ajax_upload_for_write_update.php
/bbs 안에 write_update.php 부분에 약 654줄에
// 파일의 개수를 게시물에 업데이트 한다.
아래 코드 넣고
// ajax_upload 파일에 관한 처리
@include_once('./ajax_upload_for_write_update.php');
그리고 이 안에 write.skin.php 를 열어보면 약137번줄에
<?php for ($i=0; $is_file && $i<$file_count; $i++) { ?>
<div class="bo_w_flie write_div">
<div class="file_wr write_div">
<label for="bf_file_<?php echo $i+1 ?>" class="lb_icon"><i class="fa fa-folder-open" aria-hidden="true"></i><span class="sound_only"> 파일 #<?php echo $i+1 ?></span></label>
<input type="file" name="bf_file[]" id="bf_file_<?php echo $i+1 ?>" title="파일첨부 <?php echo $i+1 ?> : 용량 <?php echo $upload_max_filesize ?> 이하만 업로드 가능" class="frm_file ">
</div>
<?php if ($is_file_content) { ?>
<input type="text" name="bf_content[]" value="<?php echo ($w == 'u') ? $file[$i]['bf_content'] : ''; ?>" title="파일 설명을 입력해주세요." class="full_input frm_input" size="50" placeholder="파일 설명을 입력해주세요.">
<?php } ?>
<?php if($w == 'u' && $file[$i]['file']) { ?>
<span class="file_del">
<input type="checkbox" id="bf_file_del<?php echo $i ?>" name="bf_file_del[<?php echo $i; ?>]" value="1"> <label for="bf_file_del<?php echo $i ?>"><?php echo $file[$i]['source'].'('.$file[$i]['size'].')'; ?> 파일 삭제</label>
</span>
<?php } ?>
</div>
<?php } ?>
파일 업로드 부분 있습니다 아래 와같이 교체 해주세요
<?php
/******************************************************************************************************************************************************/
// ajax upload 시작 위에 원래 파일업로드 부분은 주석처리하면됨
/******************************************************************************************************************************************************/
?>
<?php if($is_file and $file_count>0): ?>
<?php
if($w == 'u'){
$new_files = [];
//echo '<pre>';print_r($file);
foreach($file as $k=>$v){
//등록된 파일에는 삭제시 필요한 bf_file 필드 추가
if(empty($v['file'])){ continue; }
$new_files[] = $v;
}
}else{ $new_files = []; }
?>
<input type="file" name="bf_file[]" style="display:none;" /><?/*그누보드 원래 파일필드라서 본스킨에서 사용하지는 않지만 없애면 에러남*/?>
<?php endif; ?>
<div style="background-color:#fff;padding:20px 0px 0px 0px;">
<input type="hidden" id="ajax_files" name="ajax_files" value="" />
<div style="position:relative;">
<input type="file" id="pic" name="pic" onchange="upload_start()" accept="image/*" multiple="multiple" class="au_input" />
<div class="au_btn_search_file">파일찾기</div>
</div>
<div id="file_list" style="padding:0px;margin:10px 0;display:flex;flex-wrap: wrap;max-width:760px;">
<?php foreach($new_files as $v): ?>
<div class="au_file_list">
<div style="max-height:50px;"><?=$v['view']?></div>
<div class="au_btn_del" onclick="delete_file('<?=$v['file']?>',this)">삭제</div>
</div>
<?php endforeach; ?>
</div>
<div class="au_progress"><div id="son" style="background-color:#9c0;color:#fff;"></div></div>
</div>
<style>
.au_input{width:100%;height:100%;display:block;opacity:0;position:absolute;top:0;left:0;z-index:999;}
.au_btn_search_file{background-color:#ddd;padding:10px;text-align:center;cursor:pointer;}
.au_btn_del{padding:5px 10px; margin-top:3px; border-radius:4px;background-color:#f00;color:#fff;opacity:0.7;cursor:pointer;}
.au_file_list{margin:5px;text-align:center;flex:0 0 60px;padding-right:5px;}
.au_progress{display:none;border-radius:4px;text-align:center;}
</style>
<script type="text/javascript">
var ajax_files = {'files':<?=empty($new_files) ? '[]' : json_encode($new_files)?>,'del':[]};
var xhr = new XMLHttpRequest();
function upload_start(){
var picFileList = $("#pic").get(0).files;
var formData = new FormData();
formData.append("act_type","upload");
formData.append("write_table","<?php echo $write_table ?>");
formData.append("bo_table","<?php echo $bo_table ?>");
formData.append("wr_id","<?php echo $wr_id ?>");
for(var i=0;i<picFileList.length;i++){ formData.append("file[]",picFileList[i]); }
/*
req.addEventListener("progress,load,error,abort", updateProgress, false);
*/
xhr.upload.addEventListener("progress",onprogress,false);
xhr.addEventListener("error",upload_failed,false);
xhr.addEventListener("load",upload_success,false);
xhr.open("POST","ajax_upload.php");
xhr.send(formData);
}
function onprogress(evt){
var loaded = evt.loaded;//已经上传大小情况
var tot = evt.total;//附件总大小
var per = Math.floor(100*loaded/tot);//已经上传的百分比
$("#son").parent().css("display","block");
$("#son").html(per+"%");
$("#son").css("width",per+"%");
}
function upload_failed(evt){ alert("업로드실패"); }
function upload_success(evt){
var res = JSON.parse(evt.target.response);
if(res.res=='true'){
for(var i=0;i<res.list.length;i++){
var str = '<div class="au_file_list">';
str += '<div>'+res.list[i].view+'</div><div class="au_btn_del" onclick="delete_file(''+res.list[i].bf_file+'',this)">삭제</div>';
str += '</div>';
$("#file_list").append(str);
ajax_files.files.push(res.list[i]);
}
$("#ajax_files").val(JSON.stringify(ajax_files));
}else{ alert(res.msg); }
}
function delete_file(file,obj){
var formData = new FormData();
formData.append("act_type","delete");
formData.append("write_table","<?php echo $write_table ?>");
formData.append("bo_table","<?php echo $bo_table ?>");
formData.append("wr_id","<?php echo $wr_id ?>");
formData.append("bf_file",file);
xhr.open("POST","ajax_upload.php");
xhr.send(formData);
$(obj).parent().remove();
ajax_files.del.push(file);
$("#ajax_files").val(JSON.stringify(ajax_files));
}
</script>
<?php
/******************************************************************************************************************************************************/
// ajax upload 끝
/******************************************************************************************************************************************************/
?>
초보자경우는 그냥 업로드 하세요.
읽어주셔서 감사합니다.
많은분들 문의 남겨주셔서 바로바로 답장못드려서 죄송합니다
카톡오픈채팅방 오픈하였습니다
바로답장원하시는분 카톡 오픈 채팅에 문짜주세요
오픈채팅 링크 https://open.kakao.com/o/sSmfVLJb

버전 정보
첨부파일
그누보드5 스킨
2,752건좋은 댓글과 좋아요는 제작자에게 큰힘이 됩니다.
모바일용 갤러리 최신글 (카테고리 이미지 위로) 카테고리 컬러는 css에서 .ltt .ca_namepink { 중략 ..... background: linear-gradie...
모바일용 원형 갤러리 최신글 입니다 썸네일 if($thumb['src']) { $img_content = '<img src="'.$thumb['src'].'" al...
코리아웹글로벌님의 다음지도 AIP연동, 주소입력시 좌표 스킨 참고 https://sir.kr/g5_skin/25403?sfl=wr_subject%7C%7Cwr_content&stx...
구찬아 ~ 아프리카 bj 실시간이미지가져오기 새로고침을 하면 사진이 바로 바뀜 방송을 안하면 부분을 수정 뷰페이지 ...
아래 두 파일 /bbs 폴드에 넣고 ajax_upload.php ajax_upload_for_write_update.php /bbs 안에 write_update.php 부분에 약 ...
채팅방 형식으로 된 쪽지스킨입니다. 스킨 폴더에 넣어서 사용하시면 됩니다.
/* 2019-10-23 PC게시판 수정 */ 1. 리스트, 뷰 페이지만 설정했습니다. 2. 첨부파일, 링크는 사용하지 않습니다. 3. 답변형 게시판에는 리플이 없습니다....
안녕하세요. css와 Jquery로 탭메뉴 최신글 플러그인을 만들어봤습니다. 다른 여러가지를 사용하면서 항상 무언가 부족하다는걸 느끼다가 내 입맛에 맞는 탭을 제작하게 되었습니다....
구찬아 ~ 아프리카 bj 실시간이미지가져오기 새로고침을 하면 사진이 바로 바뀜 방송을 안하면 사진이 안나옴
댓글 25개
초보자 올림
베이직 스킨을 적용한 게시판에 압축File이나 Text File 첨부하면
"지원하지 않는 파일격식입니다"라는 Error메시지가 나옵니다.
어디를 수정해야 하는지요?
감사합니다 잘 사용할께요
[http://sir.kr/data/editor/1910/3b817d6d9d44f8db0989f27051bb5373_1572399891_7217.jpg]
아미나빌더 용을 제작해서 올려드리겠습니다.
[http://sir.kr/data/editor/1910/3b817d6d9d44f8db0989f27051bb5373_1572399993_991.jpg]
잘쓰겠습니다.