버전업 파일첨부 문제
본문
5.4로 버전업중인데 기존에 쓰던 클릭하면 증가하는 파일첨부소스를 넣으니까 올바른 방법으로 이용해달라는 문구가 떠서 그누보드에 있는 모든 방법을 써봤는데 해결이 안되서 질문올립니다.
기존에 쓰던 소스입니다. 복붙하니까 자꾸 올바른 방법으로 하라는데.. 뭐가 문제일까요?
<table cellpadding=0 cellspacing=0 border=0>
<? if ($is_file) { ?>
<tr>
<td bgcolor="#615DAE" height=40> <img src='<?=$G5_PATH?>/main_img/but_oneaddimg.gif'></td>
<td class=nbbs_relist_box2 width=480> <input type='file' class='field_pub_01' name='bf_file[]' title='파일 용량 <?=$upload_max_filesize?> 이하만 업로드 가능'>
<?if($w=="u" && $file[0][source]) echo "<input type='checkbox' name='bf_file_del[0]' value='1'><a href='{$file[0][href]}'>{$file[0][source]}({$file[0][size]})</a> 파일 삭제";?>
</td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<tr>
<td bgcolor="#615DAE" height=5></td>
<td class=nbbs_relist_box2></td>
</tr>
<tr>
<td bgcolor="#615DAE" height=40><table cellpadding=0 cellspacing=0><tr><td bgcolor="#615DAE" height=30> <img src='<?=$G5_PATH?>/main_img/but_addimg.gif'></td></tr>
<tr>
<td align=middle><span onclick="add_file();" style='cursor:pointer; font-family:tahoma; font-size:12pt;'><img src="<?=$board_skin_url?>/img/btn_file_add.gif"></span> <span onclick="del_file();" style='cursor:pointer; font-family:tahoma; font-size:12pt;'><img src="<?=$board_skin_url?>/img/btn_file_minus.gif"></span></td></tr></table></td>
<td class=nbbs_relist_box2><table id="variableFiles" cellpadding=0 cellspacing=0></table><?// print_r2($file); ?>
<script language="JavaScript">
var flen = 1;
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='field_pub_01' name='bf_file[]' title='파일 용량 <?=$upload_max_filesize?> 이하만 업로드 가능'>";
if (delete_code)
objCell.innerHTML += delete_code;
else
{
<? if ($is_file_content) { ?>
objCell.innerHTML += "<br><br><input type='text' class='field_pub_01' size=50 name='bf_content[]' title='업로드 이미지 파일에 해당 되는 내용을 입력하세요.'>";
<? } ?>
;
}
flen++;
}
<?
$file_script = "";
$file_length = -1;
if ($w == "u")
{
for ($i=1; $i<$file[count]; $i++)
{
$row = sql_fetch(" select bf_file, bf_content from $g5[board_file_table] where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '$i' ");
if ($row[bf_file])
{
$file_script .= "add_file(\"<input type='checkbox' name='bf_file_del[$i]' value='1'><a href='{$file[$i][href]}'>{$file[$i][source]}({$file[$i][size]})</a> 파일 삭제";
if ($is_file_content)
$file_script .= "<br><br><input type='text' class=ed size=50 name='bf_content[$i]' value='".addslashes(get_text($row[bf_content]))."' title='업로드 이미지 파일에 해당 되는 내용을 입력하세요.'>";
$file_script .= "\");\n";
}
else
$file_script .= "add_file('');\n";
}
$file_length = $file[count] - 1;
}
if ($file_length < 1)
{
$file_script .= "add_file('');\n";
$file_length = 0;
}
echo $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 bgcolor="#615DAE" height=5></td>
<td class=nbbs_relist_box2></td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>
</table>
안되면 ㅜㅜ 현재 첨부파일이 모두 출력되는데 추가하고싶으면 클릭해서 하나씩 증가시키는 팁 좀 주세요
스킨받아서 해봤는데 그 스킨들도 에러나서 삽질중입니다.
답변 3
5.4로 버전 업데이트 되면서 파일업로드 쪽에 수정이 된 항목이 있나보네요
바뀐게 있다면
그 이하 버전에서 만든 버전에선 오류나 오동작이 일어날 수 있습니다.
에러메시지로 봐서는 토큰쪽 문제 인듯 한데 해당 부분을 확인해보세요
토큰쪽은 이상없습니다
다른스킨도 이상없이 사용중이구요
기존 파일첨부를 위 소스로 대체한것밖에 없는데
그러네요
네 다시 확인해봐야겠네요
답변 감사합니다