코스모스팜 스레드

댓글 첨부파일

댓글에 첨부파일을 많이 넣어야 해서 구글 검색으로 파일추가버튼을 코드를 넣었습니다.

그런데 파일 인식은 하는데 업로드는 하나뿐이 안됩니다. 마지막 파일만 화면에 보여집니다.

어떻게 해야 할 지 알려주실수 있을까요? 코드는 다음과 같습니다. 

<div class="comments-field field-file">

<div id="comment_file">

                       <input type="file" id="comment_file" name="comment_attach_file" value="upload" size="40">

<input type="button" value="추가" onclick="attachFile.add()" style="margin-left:5px; font-size:12px" >

                     </div>

    

             </div>

 

<script language="JavaScript">

    attachFile = {

        idx:0,

        add:function(){ // 파일필드 추가

            var o = this;

            var idx = o.idx;

 

            var div = document.createElement('div');

            div.style.marginTop = '3px';

            div.id = 'file' + o.idx;

 

            var file = document.all ? document.createElement('<input name="comment_attach_file">') : document.createElement('input');

            file.type = 'file';

            file.name = 'comment_attach_file' ;

            file.size = '40';

            file.id = 'filefield' + o.idx;

 

            var btn = document.createElement('input');

            btn.type = 'button';

            btn.value = '삭제';

            btn.onclick = function(){o.del(idx)}

            btn.style.marginLeft = '5px';

            

 

            div.appendChild(file);

            div.appendChild(btn);

            document.getElementById('comment_file').appendChild(div);

 

            o.idx++;

        },

        del:function(idx){ // 파일필드 삭제

            if(document.getElementById('fileField' + idx).value != '' && !confirm('삭제 하시겠습니까?')){

                return;

            }

            document.getElementById('comment_file').removeChild(document.getElementById('file' + idx));

        }

    }

</script>

 

 

무제한으로 웹사이트를 만드세요. (코스모스팜 무제한 라이센스)
무제한으로 웹사이트를 만드세요. (코스모스팜 무제한 라이센스)
  • 안녕하세요~^^

    올려주신 코드를 확인해보니

    input file 필드의 name이 comment_attach_file으로 되어 있기 때문에

    가장 마지막 파일 필드만 업로드되는 듯합니다.

     

    여러 개의 파일을 업로드하시려면 name을 배열로 넘겨주셔야 합니다.

    올려주신 코드 중 comment_attach_file 부분을 comment_attach_file[]로 모두 교체해서 테스트해보시겠어요?

     

    아래 링크도 참고해보세요.

    https://php.net/manual/en/features.file-upload.multiple.php

    고맙습니다.

  • 세군데 모두 교체했는데 안됩니다. 이것은 list.php 파일을 수정했던 거고, 혹시 list-template.php 파일이 문제일까요? 

    <?php if(isset($comment->attach->file)):?>

                            <p class="comments-list-file"><?php echo __('Attachment', 'kboard-comments')?> : <a href="<?php echo $comment->attach->file[2]?>" title="<?php echo __('Download', 'kboard-comments')?>"><?php echo $comment->attach->file[1]?></a></p>

                        <?php endif?>

  • KBoard 댓글 플러그인에서 첨부파일을 동적으로 추가하고 업로드하는 기능은

    아직 저희도 테스트해보지 못했습니다.

    코드 몇 줄로는 해결되지 않을 듯합니다.

    추후 연구 개발하여 댓글에 여러 개의 첨부 파일을 첨부할 수 있도록 업데이트하도록 하겠습니다.

    고맙습니다.

이미지 사진은 imgur에 업로드한 뒤 링크 걸어주세요.
무제한으로 웹사이트를 만드세요. (코스모스팜 무제한 라이센스)