G4 -> G5 썸네일 생성 문제,,,

G4 -> G5 썸네일 생성 문제,,,

QA

G4 -> G5 썸네일 생성 문제,,,

본문

리스트썸네일(278*291) 생성에서 몇 개는 생성이 정상적으로 되고 몇 개는 안되네요... 이유는 모르겠습니다;;;

 

스크롤 정도 분량에서 썸네일이 고작 이정도 생성됩니다...

 

 

8ad7feeb3d1034d4914d3e05e5737d68_1473330476_4064.png
 

 

게시글보기에서의 썸네일생성(1000 * x)은 구별 없이 잘 생성됩니다.위에서 보시면 몇개 생성안되어있지만 저것은 제가 썸네일 파일삭제하고 확인하고를 반복하다보니 거의 지워진 상태구요. 

리스트는 페이지별로 확인했는데도 불구하고 생성이 안된것을 확인 할 수 있습니다.

 

지금 보시면 333, 913, 5277, 5275, 5237, 7198, 7197 요것은 생성안되도 상관없구요,, 다른건 생성이 되어야하는데 생성이 안되네요??;

 

 

 

 

8ad7feeb3d1034d4914d3e05e5737d68_1473330712_5993.png

 

 

디비상태는 파일이름에 아래와 같이 한글과 특수문자 가령 ♥하트 랄지 들어간것도 있고 다양합니다,

 

8ad7feeb3d1034d4914d3e05e5737d68_1473331092_7169.png
 

 어떻게 해야 정상적으로 생성할 수 있을 까요?

이 질문에 댓글 쓰기 :

답변 5

이 문제 db쪽에서 해결책을 찾으셔야 합니다.

어떻게 했었는데 바로 기억이 안 나네요.

G5 필드값인가? 어떤 것 하나를 몽땅 DB에서 일괄처리하여 처리를 할 수 있었습니다.

생각이 나면 다시 댓글 드리겠습니다. DB쪽으로 접근하셔야 해결책이 있으세요.

 

ba18306af79245d9965fbd7a55437ecd_1473342315_9604.jpg 

 

g5_board_file 테이블 필드 값 중.. "bf_type" 이곳이 아마 "0" 으로 되어 있으실 거에요.

1 이나 또는 2 이런 숫자를 넣어 보세요. 1이 맞는 것 같아요.

2는 gif이고 jpg는 1이고 뭐 이런 규칙이 있는 것으로 알고 있습니다.

2를 넣은 것 같기도 하고 < 자신없습니다.

숫자 넣어보시면 바로.. 확인이 되실 것으로..

 

해당 파일 썸네일이 정상으로 뜨면 보실 것 없죠.

몽땅 일괄처리 하시면 해결 되실 것으로 사료 됩니다.

"스아이" 님은 아실 것 같아 열외시켰는데요.

 

update g5_board_file set bf_type=REPLACE(bf_type,'0','2')

 

이렇게 구문을 넣고 실행하시면 치환이 되실 거에요. 몽땅..

1인지 2인지 이 부분만 자신이 없습니다. 흐

정상으로 출력되는 애들 보시면 바로 아실 수 있는데.. ㅜㅜ ㅎ

 

update 테이블명 set 필드명=REPLACE(필드명,'기존문자열','변경하고자하는문자열')

1인지 2인지는 getimagesize() 에서
Array
 (
    [0] => 가로 사이즈
    [1] => 높이 사이즈
    [2] => 이미지타입 정수
    [3] => width="가로 사이즈" height="높이 사이즈"
    [bits] => 비트
    [channels] => 채널
    [mime] => jpg인지 png인지 gif 인지 등등
 )

getimagesize()[2] 입니다ㅎ;

리스트 스킨에서 썸네일 만들 때 나오는 쿼리가 아래와 같습니다.

/lib/thumb.lib.php

쿼리를 변경하시든가 bf_type 조정 하시고 생성하면 될 것 같습니다.


    $sql = " select bf_file, bf_content from {$g5['board_file_table']}
                where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_type between '1' and '3' order by bf_no limit 0, 1 ";
    $row = sql_fetch($sql);


<?php
for ($i=0; $i<count($list); $i++) {
	$res = sql_fetch('select * from g5_board_file where bo_table="'.$bo_table.'" && wr_id = "'.$list[$i]['wr_id'].'" && bf_no =0;');
	$chars_array = array_merge(range(0,9), range('a','z'), range('A','Z'));
	shuffle($chars_array);
	$shuffle = implode('', $chars_array);
	$f_name = abs(ip2long($_SERVER['REMOTE_ADDR'])).'_'.substr($shuffle,0,8).'_'.replace_filename($res['bf_source']);
	$dest_file = G5_DATA_PATH.'/file/'.$bo_table.'/'.$f_name;
	$bf_img = getimagesize(G5_DATA_PATH.'/file/'.$bo_table.'/'.$res['bf_file']);
	rename(G5_DATA_PATH.'/file/'.$bo_table.'/'.$res['bf_file'], $dest_file);
	sql_query('update g5_board_file  set bf_file = "'.$f_name.'", bf_type = "'.$bf_img[2].'",  bf_width = "'.$bf_img[0].'",  bf_height = "'.$bf_img[1].'" where bo_table="'.$bo_table.'" && wr_id = "'.$list[$i]['wr_id'].'" && bf_no =0;');
}
?>

저랑 비슷한 경험을 하게 될지도 모르는 분들을 위해,,, 리스트 스킨에 넣고 페이지를 하나씩 클릭하면 작동,,, 게시글이 많지 않아 이 방법을 채택했네요ㅎ;

작년에 어떤 사이트를 하나 만들어 드렸어요.

너무 놀아서 아무것도 모르겠고.. 검색을 해도 안 나오고..

욕은 뒤지게 먹고 있었고요.. ㅎ

그러다 만 3일 뒤에.. 아 나는 도저히 못 하겠다!

다른 곳에 의뢰해 주세요. 하였지요?

무슨 소리냐면서 책임을 지라 합니다.

그러다 mysql에 들어가게 되었습니다. 왜 안 되니? 하면서요..

차이점이 바로 보였습니다. ㅡㅡ/

이렇게 허접하게 알게 된 사실입니다. ^^

고맙습니다. ㅎ 아자 포인트 생겼다! ㅋ 

답변을 작성하시기 전에 로그인 해주세요.
전체 72
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT