24년 9월 이전 Q&A
게시판 > 24년 9월 이전 Q&A
총 게시물 3,482건, 최근 0 건
관리자님 보세요...
글쓴이 :
나그네
날짜 : 2005-08-26 (금) 20:24
조회 : 1388
홈 매인 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://\" \"/\" \"\\\" \"빈칸\" 등의 특수문자는 빼고 넣으셔야 합니다.-.-;;;
-------------------------------------------
여기 까지 입니다..
저도 홈 운영합니다.
얼마전 이문제 때문에 고생했는데 해결 보았습니다.
문제는 한글 이름때문입니다.위와 같이 수정히시면 해결될 것입니다.
수고세요...
총 게시물 3,482건, 최근 0 건