업로드 이미지파일 이름이 한글이름일 경우 제대로 표시 안되는 것 해결방법 정보
그누호환 업로드 이미지파일 이름이 한글이름일 경우 제대로 표시 안되는 것 해결방법본문
갤러리등에서 이미지 파일명이 한글로 된 파일을 올릴경우
이미지가 제대로 안보이거나 익스플로러 옵션에서 utf-8로 보냄을 꺼도 팝업이미지 보기에서는
이미지가 제대로 안보이는 등의 문제가 있어서 적당한 꽁수를 찾아서 적용해봤습니다.
gbupdate.php 파일을 열어서 130번행 근처를 보시면 ..
// php_x 와 같은 방법으로 스크립트 실행을 하지 못하게 하였으나 abc.php._x 는 실행되는 버그가 있음
$filename = preg_replace($source, $target, $filename);
// 접두사를 붙인 파일명
$upload[$i] = $prefix . $filename
이런 부분이 나오는데 아래처럼 코드를 수정,추가 해주시면 됩니다.
// php_x 와 같은 방법으로 스크립트 실행을 하지 못하게 하였으나 abc.php._x 는 실행되는 버그가 있음
$filename = preg_replace($source, $target, $filename);
// 접두사를 붙인 파일명
$ext=strstr($filename,"."); //추가되는 부분
$filename = !ereg_replace("[a-zA-Z0-9]","", $filename); //추가되는 부분
$upload[$i] = $prefix . $filename . $ext; //수정되는 부분
이렇게 적용한 결과 익스플로러에서 utf-8옵션을 키던 끄던, 파일명이 한글이던 영문이던 썸네일을 사용하던 않던, 팝업이던 아니던지 이미지를 제대로 보여줍니다. 당연한 것이지만 서버에 파일이 저장될때 업로드하는 원본 파일과는 다른 이름으로 저장이 되는데 다운로드 받으실 경우에는 원래 파일명으로 받아집니다. 제가 php초짜라 보다 좋은 방법을 알고계시면 부탁드리겠습니다.
이미지가 제대로 안보이거나 익스플로러 옵션에서 utf-8로 보냄을 꺼도 팝업이미지 보기에서는
이미지가 제대로 안보이는 등의 문제가 있어서 적당한 꽁수를 찾아서 적용해봤습니다.
gbupdate.php 파일을 열어서 130번행 근처를 보시면 ..
// php_x 와 같은 방법으로 스크립트 실행을 하지 못하게 하였으나 abc.php._x 는 실행되는 버그가 있음
$filename = preg_replace($source, $target, $filename);
// 접두사를 붙인 파일명
$upload[$i] = $prefix . $filename
이런 부분이 나오는데 아래처럼 코드를 수정,추가 해주시면 됩니다.
// php_x 와 같은 방법으로 스크립트 실행을 하지 못하게 하였으나 abc.php._x 는 실행되는 버그가 있음
$filename = preg_replace($source, $target, $filename);
// 접두사를 붙인 파일명
$ext=strstr($filename,"."); //추가되는 부분
$filename = !ereg_replace("[a-zA-Z0-9]","", $filename); //추가되는 부분
$upload[$i] = $prefix . $filename . $ext; //수정되는 부분
이렇게 적용한 결과 익스플로러에서 utf-8옵션을 키던 끄던, 파일명이 한글이던 영문이던 썸네일을 사용하던 않던, 팝업이던 아니던지 이미지를 제대로 보여줍니다. 당연한 것이지만 서버에 파일이 저장될때 업로드하는 원본 파일과는 다른 이름으로 저장이 되는데 다운로드 받으실 경우에는 원래 파일명으로 받아집니다. 제가 php초짜라 보다 좋은 방법을 알고계시면 부탁드리겠습니다.
추천
0
0
댓글 전체

ForAdun님수정보안했다는 부분이 이상하네요..^^* 다시 수정보완부탁드려도 될까모르겠습니다..^^*
위에 팁을 좀 보강했습니다. 이미지파일(확장자 jpg,gif,bmp,png) 일 경우에만
파일명을 변경하는 것이고 변경되는 파일명은 그누보드에서 파일 업로드시 생성되는 기본접두사에 업로드되는 파일명 대신 img로 표시됩니다. 물론 다운로드 링크를 통해서 받을 경우
파일명은 업로드되는 파일명으로 받게 되니 문제는 없으리라고 봅니다.
if(eregi("\.jpg",$filename)||eregi("\.gif",$filename)||eregi("\.bmp",$filename))
{
$ext=strstr($filename,".");
$filename = "img";
$upload[$i] = $prefix . $filename . $ext;
$dest_file = "./data/file/$bo_table/$upload[$i]";
@mkdir("./data/file/$bo_table", 0707);
@chmod("./data/file/$bo_table", 0707);
move_uploaded_file($tmp_file, $dest_file) or die($HTTP_POST_VARS["wr_file$i"][error]);
chmod($dest_file, 0606);
$is_up[$i] = true;
} else {
$upload[$i] = $prefix . $filename;
$dest_file = "./data/file/$bo_table/$upload[$i]";
@mkdir("./data/file/$bo_table", 0707);
@chmod("./data/file/$bo_table", 0707);
move_uploaded_file($tmp_file, $dest_file) or die($HTTP_POST_VARS["wr_file$i"][error]);
chmod($dest_file, 0606);
$is_up[$i] = true; }
소소코드에 대해선 제가 제대로 php를 배우거나 공부하질 않아서 코드가 좀 지저분할 것입니다만...^^; 모로가도 서울만 가면된다구....--;;; 여러분들의 가르침 바랍니다. 그럼..
파일명을 변경하는 것이고 변경되는 파일명은 그누보드에서 파일 업로드시 생성되는 기본접두사에 업로드되는 파일명 대신 img로 표시됩니다. 물론 다운로드 링크를 통해서 받을 경우
파일명은 업로드되는 파일명으로 받게 되니 문제는 없으리라고 봅니다.
if(eregi("\.jpg",$filename)||eregi("\.gif",$filename)||eregi("\.bmp",$filename))
{
$ext=strstr($filename,".");
$filename = "img";
$upload[$i] = $prefix . $filename . $ext;
$dest_file = "./data/file/$bo_table/$upload[$i]";
@mkdir("./data/file/$bo_table", 0707);
@chmod("./data/file/$bo_table", 0707);
move_uploaded_file($tmp_file, $dest_file) or die($HTTP_POST_VARS["wr_file$i"][error]);
chmod($dest_file, 0606);
$is_up[$i] = true;
} else {
$upload[$i] = $prefix . $filename;
$dest_file = "./data/file/$bo_table/$upload[$i]";
@mkdir("./data/file/$bo_table", 0707);
@chmod("./data/file/$bo_table", 0707);
move_uploaded_file($tmp_file, $dest_file) or die($HTTP_POST_VARS["wr_file$i"][error]);
chmod($dest_file, 0606);
$is_up[$i] = true; }
소소코드에 대해선 제가 제대로 php를 배우거나 공부하질 않아서 코드가 좀 지저분할 것입니다만...^^; 모로가도 서울만 가면된다구....--;;; 여러분들의 가르침 바랍니다. 그럼..
^^ 감사합니다. 즐거운 클스마스되세요~
익스플로러 옵션에서 utf-8 설정을 끄고 사용할 경우 일반적인 게시판에선 큰 문제 없이 한글 파일명의 이미지를 볼수있지만, 팝업리사이즈 스크립트를 이용한 갤러리들의 경우 팝업으로 뜬 이미지가 보였다 안보였다를 반복하는 현상이 있어서 그문제를 해결하려고 생각해낸 방법인데요 도대체 왜 그런 현상이 생기는지 알아내려고 노력했는데 통 모르겠네요..--;
정확히 교대로 반복되더군요.. 한번은 팝업으로 이미지가 제대로 뜨고 창닫고 다시 클릭해서 띄우면 이미지 안뜨고...--;
익스플로러 옵션에서 utf-8 설정을 끄고 사용할 경우 일반적인 게시판에선 큰 문제 없이 한글 파일명의 이미지를 볼수있지만, 팝업리사이즈 스크립트를 이용한 갤러리들의 경우 팝업으로 뜬 이미지가 보였다 안보였다를 반복하는 현상이 있어서 그문제를 해결하려고 생각해낸 방법인데요 도대체 왜 그런 현상이 생기는지 알아내려고 노력했는데 통 모르겠네요..--;
정확히 교대로 반복되더군요.. 한번은 팝업으로 이미지가 제대로 뜨고 창닫고 다시 클릭해서 띄우면 이미지 안뜨고...--;
좋은데요. 간혹 이미지가 안보이면 .... 당황하죠.^^
그렇군요..