자유롭게 게시물을 올릴수있는 게시판입니다.
  • 유년추억
  • 학교생활
  • 입시준비
  • 대학생활
  • 군생활
  • 알바생활
  • 취업준비
  • 직장생활
  • 원룸생활
  • 연애중
  • 결혼준비
  • 집안살림
  • 자녀교육
  • 창업준비
  • 이민유학
  • 노후생활
  • 전체보기


[퍼옴]제로보드 한글된 이미지파일 구현방법

 

이번 서버 교체과정에서 제로보드한글파일지원이 안되더라구요

새로등록하기 힘들어서 팁을 뒤져보니 좋은 자료 하나 공유합니다.

 

 

루트맨님께서 팁을 올려주신 방법을 view뿐만 아니라 추출하고 새창으로 이미지를 볼때에도
적용하는 방법을 추가로 덮붙입니다.

우선 이미지명이 한글로 되어 있으면 그림이 깨져서 나옵니다. 이것을 제대로 보기위해서는
각자의 컴퓨터의 익스플로러의 설정을 바꾸어 주셔야 합니다.
도구 - 인터넷 옵션 - 고급 - url을 항상 utf-8로 보냄 이놈의 체크를 없애 주셔야 하지요.
그런데 클라이언트의 컴퓨터가 모두 이렇게 되어 있다면 상관이 없겠지만...

그 홈페이지의 클라이언트들이 모두 설정을 하는 것보다 그 홈페이지 관리인의 조금의 수정이
유저들에게 작은 배려가 아닐까 생각합니다.

우선 수정해야 할 것들은

1. bbs(제로보드 폴더)/include/list_check.php <-- 게시물을 볼때
2. bbs(제로보드 폴더)/outlogin.php <-- 갤러리 추출
3. 해당스킨/list_main.php <-- 게시판 목록 부분
4. 해당스킨/해당파일.php <-- 밑에서 차근차근 설명


1. bbs(제로보드 폴더)/include/list_check.php (루트맨님이 올린 부분)

이파일을 열어 보면

if(eregi(".jpg",$file_name1)||eregi(".gif",$file_name1)||eregi(".png",$file_name1)) $upload_image1="<img src=$data[file_name1] border=0 name=zb_target_resize style="cursor:hand" onclick=window.open(this.src)><br>";
if(eregi(".jpg",$file_name2)||eregi(".gif",$file_name2)||eregi(".png",$file_name2)) $upload_image2="<img src=$data[file_name2] border=0 name=zb_target_resize style="cursor:hand" onclick=window.open(this.src)><br>";

이부분이 있습니다. 이부분을 주석처리를 하던지 아니면 지우시던지 하고요.
밑의 소스를 첨가 하십시요.

if(eregi(".jpg",$file_name1)||eregi(".gif",$file_name1)||eregi(".png",$file_name1)) {
$file_name1_ = str_replace("%2F", "/", urlencode($data[file_name1]));
$upload_image1="<img src=$file_name1_ border=0 name=zb_target_resize style="cursor:hand" onclick=window.open(this.src)><br>";
}
if(eregi(".jpg",$file_name2)||eregi(".gif",$file_name2)||eregi(".png",$file_name2)) {
$file_name2_ = str_replace("%2F", "/", urlencode($data[file_name2]));
$upload_image2="<img src=$file_name2_ border=0 name=zb_target_resize style="cursor:hand" onclick=window.open(this.src)><br>";
}

이렇게 수정을 하시면 게시물을 보았을때 나오는 한글이미지가 깨지는 것을 방지 할 수 있습니다.
============================================================================================================


2. bbs(제로보드 폴더)/outlogin.php

이파일을 보시면

// 갤러리 이미지 뽑아오는 스킨
function print_gallery($skinname, $title, $id, $num=10, $xsize=80, $ysize=80, $xnum=10) {
.........

이 부분이 있을 것 입니다. 여기서 조금만 밑을 보시면

if(eregi(".gif|.jpg",$data[file_name1])) $filename = $_zb_url.$data[file_name1];
elseif(eregi(".gif|.jpg",$data[file_name2])) $filename = $_zb_url.$data[file_name2];
else $filename="";

이 부분이 있습니다. 이놈은 지우지 말고 이놈 바로 밑에 다가

if(eregi(".jpg",$data[s_file_name1])||eregi(".gif",$data[s_file_name1])||eregi(".png",$data[s_file_name1])) {
$file_name1_ = str_replace("%2F", "/", urlencode($data[file_name1]));
$upload_image1="<img src=$file_name1_ border=0 name=zb_target_resize style="cursor:hand" onclick=window.open(this.src)><br>";
}

이놈을 쳐워 넣습니다. 그리고 바로 밑에

if($filename) $imgList.="<a href='".$_zb_url.$target."&no=$data[no]'><img src='$filename' border=1 style=border-color:black width=$xsize height=$ysize vspacing=10 hspacing=10></a>";
else $imgList.="<a href='".$_zb_url.$target."&no=$data[no]'><img src='[dir]t.gif' border=1 style=border-color:black width=$xsize height=$ysize vspacing=10 hspacing=10></a>";

이놈이 있는데 이 부분 중

<img src='$filename' border=1 style=border-color:black width=$xsize height=$ysize vspacing=10 hspacing=10></a>";

이부분을

<img src='$_zb_url$file_name1_' border=1 style=border-color:black width=$xsize height=$ysize vspacing=10 hspacing=10></a>";

이렇게 수정을 해주시면 됩니다. 바뀌 부분은 이미지의 경로 부분이죠.^^
============================================================================================================


3. 해당스킨/list_main.php

갤러리 게시판의 스킨은 대부분 게시판 목록에 이미지를 꺼내어 놓잖아요.
그 게시판 목록 부분입니다.
그런데 스킨을 만드시는 분마다 코딩하는 방법이 달라서요..
제가 만든 siche_v5_gallrey이라는 스킨을 예로 들어서 설명 하겠습니다.
siche_v5_gallrey 이놈은 스킨 자료실에서 siche라고 검색을 하시면 찾을수 있을 것입니다.
list_main.php을 열어 보시면 제일 처음 부분에

<?
unset($s_info);
$_srcname="$dir/noscreenshot.gif";
$_xsize=100;
$_ysize=100;
$_alink="";
if($data[file_name1])
{
  $s_info = @getimagesize($data[file_name1]);

        if($s_info[2]>0&&$s_info[2]<4)
        {
                $_xsize = $s_info[0];
                if($_xsize>$_hsize) $_xsize=$_hsize;
                $_srcname = $data[file_name1];
                $_alink="<a href=.javascriptvoid(window.open('$dir/show_pic.php?file=$data[file_name1]','$data[no]','width=$s_info[0],height=$s_info[1],resizable=yes,toolbars=no,scrollbars=auto')) onfocus=blur()>";
        }
}

$_x ++;
$_temp = $_x % 4;

?>

이렇게 되어 있습니다.

이놈을

<?
unset($s_info);
$_srcname="$dir/noscreenshot.gif";
$_xsize=100;
$_ysize=100;
$_alink="";


if(eregi(".jpg",$file_name1)||eregi(".gif",$file_name1)||eregi(".png",$file_name1)) {
$file_name1_ = str_replace("%2F", "/", urlencode($data[file_name1]));
}



if($data[file_name1])
{
  $s_info = @getimagesize($data[file_name1]);

        if($s_info[2]>0&&$s_info[2]<4)
        {
                $_xsize = $s_info[0];
                if($_xsize>$_hsize) $_xsize=$_hsize;
                $_srcname = $file_name1_;
                $_alink="<a href=.javascriptvoid(window.open('$dir/show_pic.php?no=$data[no]','$data[no]','width=$s_info[0],height=$s_info[1],resizable=yes,toolbars=no,scrollbars=auto')) onfocus=blur()>";
        }
}

$_x ++;
$_temp = $_x % 5;

?>

이렇게 수정 하시고 조금 밑에 보시면

<?=$_alink?><img src=<?=$_srcname?> border=0 width=120 height=80></a>이런 부분이 있습니다.

이놈을 <?=$_alink?><?=$upload_image1?></a> 이렇게 수정 하십시요.

그리고 위에서 수정한 곳의 바뀐 부분은 중간에

if(eregi(".jpg",$file_name1)||eregi(".gif",$file_name1)||eregi(".png",$file_name1)) {
$file_name1_ = str_replace("%2F", "/", urlencode($data[file_name1]));
}

이놈이 들어 갔고요.

$_srcname = $data[file_name1]; 이놈에서 $_srcname = $file_name1_; 이렇게 바뀌고

<a href=.javascriptvoid(window.open('$dir/show_pic.php?file=$data[file_name1]'

여기서 file=$data[file_name1] 이놈 대신 no=$data[no]이 들어 갔습니다. 여기서 링크를 수정 하는 이유는
다음 파일을 수정하는 것과 연관이 있습니다.
============================================================================================================


4. 해당파일.php

제가 예로 든 스킨은 게시판 목록에서 그림을 클릭 하면 그림 크기에 맞는 새창이 띄어지고
그 창에 그림이 나오는 방식의 스킨입니다. 그렇게 되면 그 놈도 한글이름인 이미지가 있으면 깨지겠죠?
예로 든 스킨에 그 새창이 나오는 창의 파일 이름은 show_pic.php 이 파일이 입니다.

이파일 제일 첫부분에
<?
                include "../../_head.php";

                $query                        = mysql_query("select no,file_name1,s_file_name1 from zetyx_board_bbs_gallery where no = $no",$connect);
                $no                                = mysql_result($query,0,0);
                $file_name1                = mysql_result($query,0,1);
                $s_file_name1        = mysql_result($query,0,2);
                
                if(eregi(".jpg",$s_file_name1)||eregi(".gif",$s_file_name1)||eregi(".png",$s_file_name1)) {
        $file_name1_ = str_replace("%2F", "/", urlencode($file_name1));
                }
?>

이렇게 넣어 주십시요. 그리고 이미지 소스 부분

<img src=../../<?=$file?> border=0>

이부분을

<img src=../../<?=$file_name1_?> border=0>

이렇게 바꾸어 주시면 됩니다.
============================================================================================================

제가 말주변이 없어서리..어떻게 잘 전달이 되었는지 모르겠네요..

우선 제가 써먹은 것을 고대로 올려 놓았는데요.

스킨 부분 수정, 그러니깐 list_main.php과 마지막 파일 같은 부분은

스킨 마다 다를수 있음을 유의 하시고요.

이 글을 참고로 충분히 응용할 수 있을 꺼라 생각합니다.



2004-10-04 22:21:55
7677 번 읽음
☞ 로그인 후 의견을 남기실 수 있습니다
 캐시선물





365ch.com 128bit Valid HTML 4.01 Transitional and Valid CSS!
태그