검색

24년 9월 이전 Q&A

관리자님 보세요...

나그네 | 2005-08-26 20:24:28

조회수 : 1,380

홈 매인 index 부분에서요..
사진들이 보이지 않아요.. x로 표시됩니다.
물론 보이시는 분들도 계시겠지만  이유는 사진이나 동영상물 이름이 한글이라
이런 현상이 나타납니다. 한글이름이라도 잘보이시는 경우는 인터넷 옵션에
사진이 보이지 않을때는 (익스플로러 ->도구->인터넷옵션->고급으로 들어가셨어-> 밑으로 쭉내리시면 탐색부분에  ->url을 항상utf-8보냄(다시시작해야함)
이부분을 체크해제 하시면 사진이나 그림이 잘 보입니다.\"
하지만 모르시는 분들이 많이있지요..
본 홈페이지는 제로보드 사용하시는것 같은데...아래 소스를 받아 수정해보세요.


수정할 내용은 다음과 같습니다..

write_ok.php 에서 아래 부분을 찾아서 밑에 글을 추가해 주시고,,

/***************************************************************************
* 업로드가 있을때
**************************************************************************/
        if($HTTP_POST_FILES[file1]) {
                $file1 = $HTTP_POST_FILES[file1][tmp_name];
                $file1_name = $HTTP_POST_FILES[file1][name];
                $file1_size = $HTTP_POST_FILES[file1][size];
                $file1_type = $HTTP_POST_FILES[file1][type];
        }
        if($HTTP_POST_FILES[file2]) {
                $file2 = $HTTP_POST_FILES[file2][tmp_name];
                $file2_name = $HTTP_POST_FILES[file2][name];
                $file2_size = $HTTP_POST_FILES[file2][size];
                $file2_type = $HTTP_POST_FILES[file2][type];
        }

------------ 윗 글 아래에 다음을 추가

//추가 한글그림화일 이름 변경...

if($member[no]!=0) {
      $user_no=$member[no];
      $user_id_c=mysql_fetch_array(mysql_query(\"select user_id from $member_table where no=\'$user_no\'\"));
      $user_id_r=$user_id_c[0];
                  }
    else {
      srand(time());  // 중복 방지를 위한 램덤출력.
      $ran_c = (rand()%999);  //0~999 숫자중 랜덤 출력
      $user_id_r=$ran_c;
         }

-----------여기까지...-------

같은 wriite_ok.php 파일에서 내려가다 보면

$file1=eregi_replace(\"\\\\\\\\\",\"\\\\\",$file1);
$s_file_name1=str_replace(\" \",\"_\",$s_file_name1);
$s_file_name1=str_replace(\"-\",\"_\",$s_file_name1);

// 디렉토리를 검사함
if(!is_dir(\"data/\".$id)) {
@mkdir(\"data/\".$id,0777);
@chmod(\"data/\".$id,0706);
}

이 나오는데 이글 바로 밑에 다음을 붙혀 넣으시면 됩니다..


// 한글이름인 그림화일인 경우 날짜로 화일명 변환

     preg_match(\'/\\.([^.]+)$/\', $s_file_name1, $match1);
      $gfile_name1_type=$match1[1];

      if((eregi(\"\\jpg\",$gfile_name1_type))||(eregi(\"\\gif\",$gfile_name1_type))||(eregi(\"\\bmp\",$gfile_name1_type))||(eregi(\"\\png\",$gfile_name1_type))) {

      if(eregi(\"\\jpg\",$gfile_name1_type)) $temp_c1=\"jpg\";
       elseif(eregi(\"\\gif\",$gfile_name1_type)) $temp_c1=\"gif\";
       elseif(eregi(\"\\bmp\",$gfile_name1_type)) $temp_c1=\"bmp\";
       else $temp_c1=\"png\";

      if(eregi(\"\'\",$s_file_name1)) {
        $temp_name1=$user_id_r.\"_\".time().\"_01\";
        $s_file_name1 = \"$temp_name1.$temp_c1\";
         }

      else {
     for($i2=0;$i2<strlen($s_file_name1);$i2++)
     {
       if(ord($s_file_name1[$i2])>0x80)
       {
        $temp_name1=$user_id_r.\"_\".time().\"_01\";
        $s_file_name1 = \"$temp_name1.$temp_c1\";
        break;
        }
     }
                 }
             }


또, 조금 아래에...

$file2=eregi_replace(\"\\\\\\\\\",\"\\\\\",$file2);
$s_file_name2=str_replace(\" \",\"_\",$s_file_name2);
$s_file_name2=str_replace(\"-\",\"_\",$s_file_name2);

// 디렉토리를 검사함
if(!is_dir(\"data/\".$id)) {
mkdir(\"data/\".$id,0777);
@chmod(\"data/\".$id,0706);
}

이 나오는데.. 그 바로 아래에... 다음을 붙혀 넣으시면 됩니다.


// 한글이름인 그림화일인 경우 날짜로 화일명 변환

     preg_match(\'/\\.([^.]+)$/\', $s_file_name2, $match2);
      $gfile_name2_type=$match2[1];

      if((eregi(\"\\jpg\",$gfile_name2_type))||(eregi(\"\\gif\",$gfile_name2_type))||(eregi(\"\\bmp\",$gfile_name2_type))||(eregi(\"\\png\",$gfile_name2_type))) {

      if(eregi(\"\\jpg\",$gfile_name2_type)) $temp_c2=\"jpg\";
       elseif(eregi(\"\\gif\",$gfile_name2_type)) $temp_c2=\"gif\";
       elseif(eregi(\"\\bmp\",$gfile_name2_type)) $temp_c2=\"bmp\";
       else $temp_c2=\"png\";

     if(eregi(\"\'\",$s_file_name2)) {
        $temp_name2=$user_id_r.\"_\".time().\"_02\";
        $s_file_name2 = \"$temp_name2.$temp_c2\";
         }

        else {

     for($i2=0;$i2<strlen($s_file_name2);$i2++)
     {
       if(ord($s_file_name2[$i2])>0x80)
       {
        $temp_name2=$user_id_r.\"_\".time().\"_02\";
        $s_file_name2 = \"$temp_name2.$temp_c2\";
        break;
        }
     }
                 }
             }


여기까지....------------------------------------



또한,, 한글파일이름이던, 영문 파일이름이던 모든 그림파일을 모두 숫자 형식으로 변경하고 싶으시면

위의 추가 팁에서 아래처럼 몇줄을 삭제하시면 됩니다.. file_name2 부분도 마찬가지로 수정..


// 한글이름인 그림화일인 경우 날짜로 화일명 변환

    preg_match(\'/\\.([^.]+)$/\', $s_file_name1, $match1);
      $gfile_name1_type=$match1[1];

      if((eregi(\"\\jpg\",$gfile_name1_type))||(eregi(\"\\gif\",$gfile_name1_type))||(eregi(\"\\bmp\",$gfile_name1_type))||(eregi(\"\\png\",$gfile_name1_type))) {

      if(eregi(\"\\jpg\",$gfile_name1_type)) $temp_c1=\"jpg\";
       elseif(eregi(\"\\gif\",$gfile_name1_type)) $temp_c1=\"gif\";
       elseif(eregi(\"\\bmp\",$gfile_name1_type)) $temp_c1=\"bmp\";
       else $temp_c1=\"png\";

//      if(eregi(\"\'\",$s_file_name1)) {
//        $temp_name1=$user_id_r.\"_\".time().\"_01\";
//        $s_file_name1 = \"$temp_name1.$temp_c1\";
//         }

//      else {
//     for($i2=0;$i2<strlen($s_file_name1);$i2++)
//     {
//       if(ord($s_file_name1[$i2])>0x80)
//       {
        $temp_name1=$user_id_r.\"_\".time().\"_01\";
        $s_file_name1 = \"$temp_name1.$temp_c1\";
//        break;
//        }
//     }
//                 }
             }


--------------------------------------------
또, 날짜표시를 리눅스형식이 아닌 달력형식으로 변경을 원하시면...
위의 글에서 아래 내용을 찾아서 변경해주시면 됩니다..물론 file_name2도 마찬가지 형식으로 변환해야겠죠..

$temp_name1=$user_id.\"_\".time().\"_01\";   -> 이부분을 아래와 같이 변경...

$temp_name1=$user_id.\"_\".date(\"Ymd_His\").\"_01\";

초단위까지 표시하지 않으면,, 파일이름이 중복될 수가 있어서.....

-------------------------------------------
또 마지막으로... 화일이름 앞에 본인의 사이트 이름을 남기고 싶으신 분들은.

$temp_name1=$user_id.\"_\".time().\"_01\";   -> 이부분을 아래와 같이 변경...

$temp_name1=\"site_name_\".$user_id.\"_\".time().\"_01\";

한글 파일이름을 변경해 주는 기능인데.. 사이트 이름을 한글로 넣으시는 분들은 없으시겠죠..^^;;;
노파심에 한가지 더... 사이트 이름에  \"http://\"  \"/\"  \"\\\"  \"빈칸\"  등의 특수문자는 빼고 넣으셔야 합니다.-.-;;;

-------------------------------------------


여기 까지 입니다..

                                       저도 홈 운영합니다.
                             얼마전 이문제 때문에  고생했는데 해결 보았습니다.
        문제는 한글 이름때문입니다.위와 같이 수정히시면 해결될 것입니다.
             수고세요...
  • 등록된 코멘트가 존재하지 않습니다.
Fun 이전 현재페이지1 / 233 Fun 다음