파일첨부로 이미지 업로드시 문제 정보
파일첨부로 이미지 업로드시 문제본문
엊그제 첨부를 통한 이미지를 업로드시에 이미지가 두개씩 나오던 부분을 수정하고나니
오늘알았는데 해당 소스를 지우고나니 일반 게시판에선 에디터가 아닌 첨부를 하여
이미지를 넣어도 본문에선 이미지가 뜨질 않네요.
수정을 눌러보면 분명히 이미지가 올라가있는데도 말이죵.
에디터로 올리면 이미지가 확실하게 보입니다.
첨부로 올렸을 경우엔 왜 안보이는 걸까요 ?
오늘알았는데 해당 소스를 지우고나니 일반 게시판에선 에디터가 아닌 첨부를 하여
이미지를 넣어도 본문에선 이미지가 뜨질 않네요.
수정을 눌러보면 분명히 이미지가 올라가있는데도 말이죵.
에디터로 올리면 이미지가 확실하게 보입니다.
첨부로 올렸을 경우엔 왜 안보이는 걸까요 ?
댓글 전체
오늘알았는데 해당 소스를 지우고나니 일반 게시판에선 에디터가 아닌 첨부를 하여
==>> 지워서요...
==>> 지워서요...
그 지운게 어떤소스인지 모르겠어요 ㅠㅠ 좌절 ;;
모르겠으면 기존 스킨 덮어쓰세요. 그게 쉬울듯
질문이 과묵하시면 헛된 답변이 오고갈 것 같습니다.
소스라도 올려주셔야 쉽게 답변이...
질문이 과묵하시면 헛된 답변이 오고갈 것 같습니다.
소스라도 올려주셔야 쉽게 답변이...
현재 저의 그누환경에 사용중인 bbs/view.php 소스 입니다.
------------------------------------------------------------------------------------
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
@include_once("$board_skin_path/view.head.skin.php");
$sql_search = "";
// 검색이면
if ($sca || $stx) {
// where 문을 얻음
$sql_search = get_sql_search($sca, $sfl, $stx, $sop);
$search_href = "./board.php?bo_table=$bo_table&page=$page" . $qstr;
$list_href = "./board.php?bo_table=$bo_table";
} else {
$search_href = "";
$list_href = "./board.php?bo_table=$bo_table&page=$page";
}
if (!$board[bo_use_list_view]) {
if ($sql_search)
$sql_search = " and " . $sql_search;
// 윗글을 얻음
$sql = " select wr_id, wr_subject from $write_table where wr_is_comment = 0 and wr_num = '$write[wr_num]' and wr_reply < '$write[wr_reply]' $sql_search order by wr_num desc, wr_reply desc limit 1 ";
$prev = sql_fetch($sql);
// 위의 쿼리문으로 값을 얻지 못했다면
if (!$prev[wr_id]) {
$sql = " select wr_id, wr_subject from $write_table where wr_is_comment = 0 and wr_num < '$write[wr_num]' $sql_search order by wr_num desc, wr_reply desc limit 1 ";
$prev = sql_fetch($sql);
}
// 아래글을 얻음
$sql = " select wr_id, wr_subject from $write_table where wr_is_comment = 0 and wr_num = '$write[wr_num]' and wr_reply > '$write[wr_reply]' $sql_search order by wr_num, wr_reply limit 1 ";
$next = sql_fetch($sql);
// 위의 쿼리문으로 값을 얻지 못했다면
if (!$next[wr_id]) {
$sql = " select wr_id, wr_subject from $write_table where wr_is_comment = 0 and wr_num > '$write[wr_num]' $sql_search order by wr_num, wr_reply limit 1 ";
$next = sql_fetch($sql);
}
}
// 이전글 링크
$prev_href = "";
if ($prev[wr_id]) {
$prev_wr_subject = get_text(cut_str($prev[wr_subject], 255));
$prev_href = "./board.php?bo_table=$bo_table&wr_id=$prev[wr_id]&page=$page" . $qstr;
}
// 다음글 링크
$next_href = "";
if ($next[wr_id]) {
$next_wr_subject = get_text(cut_str($next[wr_subject], 255));
$next_href = "./board.php?bo_table=$bo_table&wr_id=$next[wr_id]&page=$page" . $qstr;
}
// 쓰기 링크
$write_href = "";
if ($member[mb_level] >= $board[bo_write_level])
$write_href = "./write.php?bo_table=$bo_table";
// 답변 링크
$reply_href = "";
if ($member[mb_level] >= $board[bo_reply_level])
$reply_href = "./write.php?w=r&bo_table=$bo_table&wr_id=$wr_id" . $qstr;
// 수정, 삭제 링크
$update_href = $delete_href = "";
// 로그인중이고 자신의 글이라면 또는 관리자라면 패스워드를 묻지 않고 바로 수정, 삭제 가능
if (($member[mb_id] && ($member[mb_id] == $write[mb_id])) || $is_admin) {
$update_href = "./write.php?w=u&bo_table=$bo_table&wr_id=$wr_id&page=$page" . $qstr;
$delete_href = "javascript:del('./delete.php?bo_table=$bo_table&wr_id=$wr_id&page=$page".$qstr."');";
}
else if (!$write[mb_id]) { // 회원이 쓴 글이 아니라면
$update_href = "./password.php?w=u&bo_table=$bo_table&wr_id=$wr_id&page=$page" . $qstr;
$delete_href = "./password.php?w=d&bo_table=$bo_table&wr_id=$wr_id&page=$page" . $qstr;
}
// 최고, 그룹관리자라면 글 복사, 이동 가능
$copy_href = $move_href = "";
if ($write[wr_reply] == "" && ($is_admin == "super" || $is_admin == "group")) {
$copy_href = "javascript:win_open('./move.php?sw=copy&bo_table=$bo_table&wr_id=$wr_id&page=$page".$qstr."', 'boardcopy', 'left=50, top=50, width=500, height=550, scrollbars=1');";
$move_href = "javascript:win_open('./move.php?sw=move&bo_table=$bo_table&wr_id=$wr_id&page=$page".$qstr."', 'boardmove', 'left=50, top=50, width=500, height=550, scrollbars=1');";
}
$scrap_href = "";
$good_href = "";
$nogood_href = "";
if ($member[mb_id]) {
// 스크랩 링크
$scrap_href = "./scrap_popin.php?bo_table=$bo_table&wr_id=$wr_id";
// 추천 링크
if ($board[bo_use_good])
$good_href = "./good.php?bo_table=$bo_table&wr_id=$wr_id&good=good";
// 비추천 링크
if ($board[bo_use_nogood])
$nogood_href = "./good.php?bo_table=$bo_table&wr_id=$wr_id&good=nogood";
}
$view = get_view($write, $board, $board_skin_path, $board[bo_subject_len]);
if (strstr($sfl, "subject"))
$view[subject] = search_font($stx, $view[subject]);
$html = 0;
if (strstr($view[wr_option], "html1"))
$html = 1;
else if (strstr($view[wr_option], "html2"))
$html = 2;
$view[content] = conv_content($view[wr_content], $html);
if (strstr($sfl, "content"))
$view[content] = search_font($stx, $view[content]);
$view[content] = preg_replace("/(\<img )([^\>]*)(\>)/i", "\\1 name='target_resize_image[]' onclick='image_window(this)' style='cursor:pointer;' \\2 \\3", $view[content]);
//$view[rich_content] = preg_replace("/{img\:([0-9]+)[:]?([^}]*)}/ie", "view_image(\$view, '\\1', '\\2')", $view[content]);
$view[rich_content] = preg_replace("/{이미지\:([0-9]+)[:]?([^}]*)}/ie", "view_image(\$view, '\\1', '\\2')", $view[content]);
// 트랙백
$trackback_url = "";
if ($member[mb_level] >= $board[bo_trackback_level]) {
if (isset($g4['token_time']) == false)
$g4['token_time'] = 3;
$trackback_url = "$g4[url]/$g4[bbs]/tb.php/$bo_table/$wr_id";
}
$is_signature = false;
$signature = "";
if ($board[bo_use_signature] && $view[mb_id])
{
$is_signature = true;
$mb = get_member($view[mb_id]);
$signature = $mb[mb_signature];
}
include_once("$board_skin_path/view.skin.php");
@include_once("$board_skin_path/view.tail.skin.php");
?>
------------------------------------------------------------------------------------
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
@include_once("$board_skin_path/view.head.skin.php");
$sql_search = "";
// 검색이면
if ($sca || $stx) {
// where 문을 얻음
$sql_search = get_sql_search($sca, $sfl, $stx, $sop);
$search_href = "./board.php?bo_table=$bo_table&page=$page" . $qstr;
$list_href = "./board.php?bo_table=$bo_table";
} else {
$search_href = "";
$list_href = "./board.php?bo_table=$bo_table&page=$page";
}
if (!$board[bo_use_list_view]) {
if ($sql_search)
$sql_search = " and " . $sql_search;
// 윗글을 얻음
$sql = " select wr_id, wr_subject from $write_table where wr_is_comment = 0 and wr_num = '$write[wr_num]' and wr_reply < '$write[wr_reply]' $sql_search order by wr_num desc, wr_reply desc limit 1 ";
$prev = sql_fetch($sql);
// 위의 쿼리문으로 값을 얻지 못했다면
if (!$prev[wr_id]) {
$sql = " select wr_id, wr_subject from $write_table where wr_is_comment = 0 and wr_num < '$write[wr_num]' $sql_search order by wr_num desc, wr_reply desc limit 1 ";
$prev = sql_fetch($sql);
}
// 아래글을 얻음
$sql = " select wr_id, wr_subject from $write_table where wr_is_comment = 0 and wr_num = '$write[wr_num]' and wr_reply > '$write[wr_reply]' $sql_search order by wr_num, wr_reply limit 1 ";
$next = sql_fetch($sql);
// 위의 쿼리문으로 값을 얻지 못했다면
if (!$next[wr_id]) {
$sql = " select wr_id, wr_subject from $write_table where wr_is_comment = 0 and wr_num > '$write[wr_num]' $sql_search order by wr_num, wr_reply limit 1 ";
$next = sql_fetch($sql);
}
}
// 이전글 링크
$prev_href = "";
if ($prev[wr_id]) {
$prev_wr_subject = get_text(cut_str($prev[wr_subject], 255));
$prev_href = "./board.php?bo_table=$bo_table&wr_id=$prev[wr_id]&page=$page" . $qstr;
}
// 다음글 링크
$next_href = "";
if ($next[wr_id]) {
$next_wr_subject = get_text(cut_str($next[wr_subject], 255));
$next_href = "./board.php?bo_table=$bo_table&wr_id=$next[wr_id]&page=$page" . $qstr;
}
// 쓰기 링크
$write_href = "";
if ($member[mb_level] >= $board[bo_write_level])
$write_href = "./write.php?bo_table=$bo_table";
// 답변 링크
$reply_href = "";
if ($member[mb_level] >= $board[bo_reply_level])
$reply_href = "./write.php?w=r&bo_table=$bo_table&wr_id=$wr_id" . $qstr;
// 수정, 삭제 링크
$update_href = $delete_href = "";
// 로그인중이고 자신의 글이라면 또는 관리자라면 패스워드를 묻지 않고 바로 수정, 삭제 가능
if (($member[mb_id] && ($member[mb_id] == $write[mb_id])) || $is_admin) {
$update_href = "./write.php?w=u&bo_table=$bo_table&wr_id=$wr_id&page=$page" . $qstr;
$delete_href = "javascript:del('./delete.php?bo_table=$bo_table&wr_id=$wr_id&page=$page".$qstr."');";
}
else if (!$write[mb_id]) { // 회원이 쓴 글이 아니라면
$update_href = "./password.php?w=u&bo_table=$bo_table&wr_id=$wr_id&page=$page" . $qstr;
$delete_href = "./password.php?w=d&bo_table=$bo_table&wr_id=$wr_id&page=$page" . $qstr;
}
// 최고, 그룹관리자라면 글 복사, 이동 가능
$copy_href = $move_href = "";
if ($write[wr_reply] == "" && ($is_admin == "super" || $is_admin == "group")) {
$copy_href = "javascript:win_open('./move.php?sw=copy&bo_table=$bo_table&wr_id=$wr_id&page=$page".$qstr."', 'boardcopy', 'left=50, top=50, width=500, height=550, scrollbars=1');";
$move_href = "javascript:win_open('./move.php?sw=move&bo_table=$bo_table&wr_id=$wr_id&page=$page".$qstr."', 'boardmove', 'left=50, top=50, width=500, height=550, scrollbars=1');";
}
$scrap_href = "";
$good_href = "";
$nogood_href = "";
if ($member[mb_id]) {
// 스크랩 링크
$scrap_href = "./scrap_popin.php?bo_table=$bo_table&wr_id=$wr_id";
// 추천 링크
if ($board[bo_use_good])
$good_href = "./good.php?bo_table=$bo_table&wr_id=$wr_id&good=good";
// 비추천 링크
if ($board[bo_use_nogood])
$nogood_href = "./good.php?bo_table=$bo_table&wr_id=$wr_id&good=nogood";
}
$view = get_view($write, $board, $board_skin_path, $board[bo_subject_len]);
if (strstr($sfl, "subject"))
$view[subject] = search_font($stx, $view[subject]);
$html = 0;
if (strstr($view[wr_option], "html1"))
$html = 1;
else if (strstr($view[wr_option], "html2"))
$html = 2;
$view[content] = conv_content($view[wr_content], $html);
if (strstr($sfl, "content"))
$view[content] = search_font($stx, $view[content]);
$view[content] = preg_replace("/(\<img )([^\>]*)(\>)/i", "\\1 name='target_resize_image[]' onclick='image_window(this)' style='cursor:pointer;' \\2 \\3", $view[content]);
//$view[rich_content] = preg_replace("/{img\:([0-9]+)[:]?([^}]*)}/ie", "view_image(\$view, '\\1', '\\2')", $view[content]);
$view[rich_content] = preg_replace("/{이미지\:([0-9]+)[:]?([^}]*)}/ie", "view_image(\$view, '\\1', '\\2')", $view[content]);
// 트랙백
$trackback_url = "";
if ($member[mb_level] >= $board[bo_trackback_level]) {
if (isset($g4['token_time']) == false)
$g4['token_time'] = 3;
$trackback_url = "$g4[url]/$g4[bbs]/tb.php/$bo_table/$wr_id";
}
$is_signature = false;
$signature = "";
if ($board[bo_use_signature] && $view[mb_id])
{
$is_signature = true;
$mb = get_member($view[mb_id]);
$signature = $mb[mb_signature];
}
include_once("$board_skin_path/view.skin.php");
@include_once("$board_skin_path/view.tail.skin.php");
?>
특별히 원본소스랑 비교했을때 빠진게 없는것 같은데 .. 이상하게도 안뜹니다 .
왜 스킨디렉토리에 있는 파일을 수정하지 않고 bbs/view.php를 수정하시는지 이유를 모르겠습니다.
해당 파일은 원상복구시키시고 스킨을 수정해보시는 것이 좋을 듯합니다.
특히 원본과 비교시 같다면 혹은 그렇지 않더라도 보통은 관리자 설정에 해당 게시판 설정에서 선택한 스킨 자체에 문제가 있어서입니다.
스킨디렉토리에 해당 스킨을 살펴보세요.
해당 파일은 원상복구시키시고 스킨을 수정해보시는 것이 좋을 듯합니다.
특히 원본과 비교시 같다면 혹은 그렇지 않더라도 보통은 관리자 설정에 해당 게시판 설정에서 선택한 스킨 자체에 문제가 있어서입니다.
스킨디렉토리에 해당 스킨을 살펴보세요.
루트/skin/board/해당스킨/view.skin.php를 검토해보세요.
해당 스킨에 다음과 같은 구문이 있다면 이미지출력에는 문제가 없을 듯합니다.
참고로 기본 베이직 경우이기에 해당 스킨의 소스가 어떤 식으로 변형된 상태라면 다를 수는 있습니다.
<?
// 파일 출력
for ($i=0; $i<=count($view[file]); $i++) {
if ($view[file][$i][view])
echo $view[file][$i][view] . "<p>";
}
?>
해당 스킨에 다음과 같은 구문이 있다면 이미지출력에는 문제가 없을 듯합니다.
참고로 기본 베이직 경우이기에 해당 스킨의 소스가 어떤 식으로 변형된 상태라면 다를 수는 있습니다.
<?
// 파일 출력
for ($i=0; $i<=count($view[file]); $i++) {
if ($view[file][$i][view])
echo $view[file][$i][view] . "<p>";
}
?>
뉴피아님 매번 감사합니다.
따끔하게 지적해주시는 코멘트에서 해법을 찾았습니다 ^^
따끔하게 지적해주시는 코멘트에서 해법을 찾았습니다 ^^