파일업로드를 일부만 가변적으로 하고 싶습니다. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

파일업로드를 일부만 가변적으로 하고 싶습니다. 정보

파일업로드를 일부만 가변적으로 하고 싶습니다.

본문

지금 파일업로드는 그누보드 기본스킨에서 가변적으로 갯수를 탄력적으로 늘릴 수 있게 되어 있습니다. 그 소스는 아시다시피 아래와 같습니다.
 
 
##1번소스
 
<? if ($is_file) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'><table cellpadding=0 cellspacing=0><tr><td style=" padding-top: 10px;">· 파일 <span onclick="add_file();" style='cursor:pointer; font-family:tahoma; font-size:12pt;'>+</span> <span onclick="del_file();" style='cursor:pointer; font-family:tahoma; font-size:12pt;'>-</span></td></tr></table></td>
    <td style='padding:5 0 5 0;'><table id="variableFiles" cellpadding=0 cellspacing=0></table><?// print_r2($file); ?>
        <script language="JavaScript">
        var flen = 0;
        function add_file(delete_code)
        {
            var upload_count = <?=(int)$board[bo_upload_count]?>;
            if (upload_count && flen >= upload_count)
            {
                alert("이 게시판은 "+upload_count+"개 까지만 파일 업로드가 가능합니다.");
                return;
            }
            var objTbl;
            var objRow;
            var objCell;
            if (document.getElementById)
                objTbl = document.getElementById("variableFiles");
            else
                objTbl = document.all["variableFiles"];
            objRow = objTbl.insertRow(objTbl.rows.length);
            objCell = objRow.insertCell(0);
            objCell.innerHTML = "<input type='file' class=ed size=32 name='bf_file[]' title='파일 용량 <?=$upload_max_filesize?> 이하만 업로드 가능'>";
            if (delete_code)
                objCell.innerHTML += delete_code;
            else
            {
                <? if ($is_file_content) { ?>
                objCell.innerHTML += "<br><input type='text' class=ed size=50 name='bf_content[]' title='업로드 이미지 파일에 해당 되는 내용을 입력하세요.'>";
                <? } ?>
                ;
            }
            flen++;
        }
        <?=$file_script; //수정시에 필요한 스크립트?>
        function del_file()
        {
            // file_length 이하로는 필드가 삭제되지 않아야 합니다.
            var file_length = <?=(int)$file_length?>;
            var objTbl = document.getElementById("variableFiles");
            if (objTbl.rows.length - 1 > file_length)
            {
                objTbl.deleteRow(objTbl.rows.length - 1);
                flen--;
            }
        }
        </script></td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>
 
이게 편리한 점이 많지만 자신이 원하는 바가 아닐 때는 불편한 점도 있습니다. 그래서 다른 소스를 찾아 보았더니 자신이 갯수를 미리 지정해 다음과 같이 할 수 있더군요.
 
#2번소스
 
<?
if ($is_file) {?>

 <tr>
     <td style='padding-left:20px;height:30px;'>· 첫번째 파일</td>
  <td>
<?
 echo "<input type=\"file\" name=\"bf_file[]\" size=\"70\" class=\"ed\" title=\"파일 용량 " . get_filesize($board['bo_upload_size']) . " 이하만 업로드 가능\">";
 if ($w == "u"){
  $row = sql_fetch(" select bf_file, bf_content from {$g4['board_file_table']} where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' and bf_no = '0' ");
  if ($row['bf_file']){
   echo "<br /><input type=\"checkbox\" name=\"bf_file_del[0]\" value=\"1\"><a href=\"{$file[0]['href']}\" class=\"link\">{$file[0]['source']}</a>({$file[0]['size']}) 파일 삭제";
  }else{
   echo "";
  }
 }?>
 
 
그래서 2번소스를 원하는 갯수만큼 원하는 자리에 붙여 쓰고 있는데 사실은 제가  진짜 원하는 것은 위의 두개 소스를 혼용해 쓰고 싶습니다. 즉 첫번째 파일은 따로 떼어서 바로 위의 2번소스를 쓰고 두번째파일부터는 원하는 갯수만큼 가변이 되는 1번소스를 쓰고 싶은 겁니다.
 
그런데 제가 워낙 기초가 없어 1번소스를 첫번째파일은 배제하고 두번째 파일업로드부터 증감하도록 고치고 싶은데 그게 생각만큼 잘 안되네요.
 
그래서 이렇게 도움을 청합니다. 1번소스를 어떻게 고치면 두번째파일부터 시작하게 할 수 있을까요? 한수 가르쳐 주시면 감사하겠고 잘 아껴 쓰겠습니다.

댓글 전체

결국 기본 2개가 항상 나오면 된다는 거군요.

g4/bbs/write.php" 360

if ($file_length < 0)
{
    $file_script .= "add_file('');\n";
    $file_length = 0;
}


if ($file_length < 0)
{
    $file_script .= "add_file('');\n";
    $file_script2 .= "add_file('');add_file()\n";

    $file_length = 0;
}
로 하시고

write.skin.에서 $file_script2를 가져다 쓰세요

g4/skin/board/basic/write.skin.php" 291
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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