삽질표 외부이미지 웹진스킨 테스트해보실라우~~ 정보
삽질표 외부이미지 웹진스킨 테스트해보실라우~~본문
SIR 뭇 고수님팁을 도용한 외부 이미지 파일을 위주로 사용할 웹진 스킨입니다.
테스트 부탁 드립니다.
테스트 아이디 및 비번 test 입니다.
테스트를 위해 당분간 권한을 모두 열어놓겠습니다.
팝업이 차단되어 있으면 원활한 썸네일 생성이 안되는점 참고하세요.^^
--------------------------
썸네일
- 썸네일 생성 엔진은 유창화님 소스코드를 활용하였습니다.
- 본문에 링크된 첫번째 이미지의 경로를 추출해서 썸네일을 생성 썸네일 폴더에 저장후 원본은 삭제한다.
- 필요할 경우 원본을 특정 폴더에 저장하는것도 가능하다.
- 모든 썸네일 경로는 base64_encode 방식을 적용 암호화 하였다.
썸네일 일괄 재생성
- 목록 상단 재성성 링크는 게시판 전체 링크 이미지에 대한 썸네일을 일괄 재생성한다.
- 일괄 재성성시 기존의 정상 연결된 이미지는 보존되며 재생성하지 않는다.
- 레코드나 서버 환경에 따라 수분의 시간이 소요된다.
썸네일 개별 재생성
- 목록 제목옆에 링크했으며 해당 레코드에 대한 썸네일만 재생성한다.
- 마찬가지로 기존의 정상 연결된 이미지는 보존되며 재생성하지 않는다.
- 일괄 생성시 누락된 썸네일만 재생성 하므로 이것은 별 필요가 없을듯..
썸네일 정리
- 업로드 파일 폴더와 썸네일 폴더의 파일을 비교 업로드 원본이 없는 파일만 일괄 삭제한다.
- 본문 첫번째 링크 이미지와 썸네일 폴더의 파일을 비교 링크가 없는 파일만 일괄 삭제한다.
- 불필요한 파일만 정리하므로 재생성 작업에 부담을 대폭 줄였다.
목록
- 목록에 사용되는 썸네일은 첨부파일 -> 본문링크 이미지 순으로 사용된다.
- 목록은 1~2열 정도가 적당한듯,, 해당 게시판의 관리설정에서 손쉽게 설정 가능하다.
- 최대한 웹표준을 준수하였으며 간결하게 처리하므로 로딩속도를 높이는데 주력하였다.
글 수정
- 글 수정시 첨부 이미지 또는 링크 이미지 썸네일을 추출 편집에 도움이 되도록 하였다.
글 보기
- 본물 읽기 페이지는 html사용시 줄바꿈이나 공백문자등을 제거하도록 수정되었으며,
차후 첨부 이미지 제어 부분을 강화할 예정이다.
테스트 부탁 드립니다.
테스트 아이디 및 비번 test 입니다.
테스트를 위해 당분간 권한을 모두 열어놓겠습니다.
팝업이 차단되어 있으면 원활한 썸네일 생성이 안되는점 참고하세요.^^
--------------------------
썸네일
- 썸네일 생성 엔진은 유창화님 소스코드를 활용하였습니다.
- 본문에 링크된 첫번째 이미지의 경로를 추출해서 썸네일을 생성 썸네일 폴더에 저장후 원본은 삭제한다.
- 필요할 경우 원본을 특정 폴더에 저장하는것도 가능하다.
- 모든 썸네일 경로는 base64_encode 방식을 적용 암호화 하였다.
썸네일 일괄 재생성
- 목록 상단 재성성 링크는 게시판 전체 링크 이미지에 대한 썸네일을 일괄 재생성한다.
- 일괄 재성성시 기존의 정상 연결된 이미지는 보존되며 재생성하지 않는다.
- 레코드나 서버 환경에 따라 수분의 시간이 소요된다.
썸네일 개별 재생성
- 목록 제목옆에 링크했으며 해당 레코드에 대한 썸네일만 재생성한다.
- 마찬가지로 기존의 정상 연결된 이미지는 보존되며 재생성하지 않는다.
- 일괄 생성시 누락된 썸네일만 재생성 하므로 이것은 별 필요가 없을듯..
썸네일 정리
- 업로드 파일 폴더와 썸네일 폴더의 파일을 비교 업로드 원본이 없는 파일만 일괄 삭제한다.
- 본문 첫번째 링크 이미지와 썸네일 폴더의 파일을 비교 링크가 없는 파일만 일괄 삭제한다.
- 불필요한 파일만 정리하므로 재생성 작업에 부담을 대폭 줄였다.
목록
- 목록에 사용되는 썸네일은 첨부파일 -> 본문링크 이미지 순으로 사용된다.
- 목록은 1~2열 정도가 적당한듯,, 해당 게시판의 관리설정에서 손쉽게 설정 가능하다.
- 최대한 웹표준을 준수하였으며 간결하게 처리하므로 로딩속도를 높이는데 주력하였다.
글 수정
- 글 수정시 첨부 이미지 또는 링크 이미지 썸네일을 추출 편집에 도움이 되도록 하였다.
글 보기
- 본물 읽기 페이지는 html사용시 줄바꿈이나 공백문자등을 제거하도록 수정되었으며,
차후 첨부 이미지 제어 부분을 강화할 예정이다.
추천
0
0
관련링크
댓글 23개
일단 내용만 읽었지만... 썸네일 재생성 만으로도 충분한 값어치가 있을듯 합니다.
감사합니다. .. 배포할때만 감사할겁니다.. 쿨럭;;;
감사합니다. .. 배포할때만 감사할겁니다.. 쿨럭;;;
점심은 맛나게 드셨나요?!
썸네일 생성 제가 한게 별로 없습니다.
http://www.sir.co.kr/bbs/board.php?bo_table=pl_php&wr_id=470
유창화님께서 만들어주신 엔진이 매우 좋네요.
대략 10만개쯤 링크를 비교해서 약 2000개씀 생성하는데 4~5분 걸리네요.
서버 환경 안좋은데 죽지않고 잘 돌아가더군요,ㅎㅎ
썸네일 생성 제가 한게 별로 없습니다.
http://www.sir.co.kr/bbs/board.php?bo_table=pl_php&wr_id=470
유창화님께서 만들어주신 엔진이 매우 좋네요.
대략 10만개쯤 링크를 비교해서 약 2000개씀 생성하는데 4~5분 걸리네요.
서버 환경 안좋은데 죽지않고 잘 돌아가더군요,ㅎㅎ
멋진 물건을 들고 오셨군요.
고생하셨습니다.
고생하셨습니다.
계정이 가난한 사람들을 위한 스킨이고 삽질이고 그렇습니다.^^

수고하셨습니다......^^
욜심히 들여다 봐야겠습니다....
이미지쪽은 더군다나 그리는 것이나 처리하는 것이나 다 젬병이라...ㅠ.ㅠ
욜심히 들여다 봐야겠습니다....
이미지쪽은 더군다나 그리는 것이나 처리하는 것이나 다 젬병이라...ㅠ.ㅠ
뭐 전통적인 삽질일뿐입니다.^^
위쪽 유창화님 엔진에다 친절한서기님 밋숀을 붙인게 전부입니다.
사정상 이런 유형이 필요해서 그만 삽을,, ㅎㅎ
위쪽 유창화님 엔진에다 친절한서기님 밋숀을 붙인게 전부입니다.
사정상 이런 유형이 필요해서 그만 삽을,, ㅎㅎ
또 놀라운 신공을.. 그러다가 포털 만드시겠습니다.,,^^;

포털?.....털이 네곳에....?
머리/양쪽 겨드랑이/ .......또하나는 어딘감유....?
머리/양쪽 겨드랑이/ .......또하나는 어딘감유....?
손등
DS`O님 팁도 요긴하게 사용했습니다.^^

고생하십니다. 좋네요.
감사합니다.^^
고급엔진을 만들어주셔서 매우 만족하고있습니다.
각 게시판별로 썸네일 생성 사이즈를 자유롭게 해준다면 더욱 유용하겠다는 생각만 하고있답니다.
시간 되실때 한번더 검토해주시면 고맙겠습니다.
썸네일을 필요로 하는 모든 스킨에서 널리 애용될것 같습니다.
고급엔진을 만들어주셔서 매우 만족하고있습니다.
각 게시판별로 썸네일 생성 사이즈를 자유롭게 해준다면 더욱 유용하겠다는 생각만 하고있답니다.
시간 되실때 한번더 검토해주시면 고맙겠습니다.
썸네일을 필요로 하는 모든 스킨에서 널리 애용될것 같습니다.

간단하게 수정해서 쓰면 되지 않을 까요......
//원격이미지 정보 가져오는 함수
function Ymake_sumnail_remoteimage($url, $save_dir, $w, $h, $referer=''){
global $dest_file;
$src_file = $save_dir . '/' . base64_encode($url);
$text = Yreadfile($url, $referer);
if (empty($text)) return Array();
$fp = @fopen ($src_file, "w");
@fwrite($fp, $text);//유일한 파일이므로 파일에 락을 걸지 않는다.
@fclose($fp);
@chmod ($src_file, 0777);
$src_file_size = @getimagesize($src_file);
$dest_file = $save_dir . '/s_' . base64_encode($url);
$dest_file_size = Array($w, $h);
$result = Ysumnail_rule($src_file, $dest_file, $src_file_size, $dest_file_size, 90, 'gd');
@unlink($src_file);
return $result;
}
//플록님 이미지
$url = "http://phosay.com/g4/data/file/demo_gallery/3660583642_49cb97ad_wo%2B091.jpg";//읽어올 url
$referer = "http://phosay.com/g4/";//속일 리퍼러, 넣지 않아도 됨
$save_dir = "./temp";
//임시저장디렉토리 지정, 상대경로
//퍼미션은 웹서버가 읽을 수 있도록, 일반적으로 777
//맨마지막에 / 를 붙이지 않는다.
$result = Ymake_sumnail_remoteimage($url, $save_dir, 100, 100, $referer);
echo "<br>원본이미지 <img src='" . $url . "' border=0>";
if (empty($result)) echo "<br>png 썸네일 생성에 실패하였습니다. 저장디렉토리의 퍼미션이나 원본의 이미지포맷, 또는 gd지원여부를 확인하세요.";
else echo "<br>png 썸네일이미지 <img src='" . $dest_file . "' border=0>";
//원격이미지 정보 가져오는 함수
function Ymake_sumnail_remoteimage($url, $save_dir, $w, $h, $referer=''){
global $dest_file;
$src_file = $save_dir . '/' . base64_encode($url);
$text = Yreadfile($url, $referer);
if (empty($text)) return Array();
$fp = @fopen ($src_file, "w");
@fwrite($fp, $text);//유일한 파일이므로 파일에 락을 걸지 않는다.
@fclose($fp);
@chmod ($src_file, 0777);
$src_file_size = @getimagesize($src_file);
$dest_file = $save_dir . '/s_' . base64_encode($url);
$dest_file_size = Array($w, $h);
$result = Ysumnail_rule($src_file, $dest_file, $src_file_size, $dest_file_size, 90, 'gd');
@unlink($src_file);
return $result;
}
//플록님 이미지
$url = "http://phosay.com/g4/data/file/demo_gallery/3660583642_49cb97ad_wo%2B091.jpg";//읽어올 url
$referer = "http://phosay.com/g4/";//속일 리퍼러, 넣지 않아도 됨
$save_dir = "./temp";
//임시저장디렉토리 지정, 상대경로
//퍼미션은 웹서버가 읽을 수 있도록, 일반적으로 777
//맨마지막에 / 를 붙이지 않는다.
$result = Ymake_sumnail_remoteimage($url, $save_dir, 100, 100, $referer);
echo "<br>원본이미지 <img src='" . $url . "' border=0>";
if (empty($result)) echo "<br>png 썸네일 생성에 실패하였습니다. 저장디렉토리의 퍼미션이나 원본의 이미지포맷, 또는 gd지원여부를 확인하세요.";
else echo "<br>png 썸네일이미지 <img src='" . $dest_file . "' border=0>";
감사합니다.^^
잠간 밖에좀 나갔다 왔습니다.
얼른 적용해보고 보고 드리겠습니다.
잠간 밖에좀 나갔다 왔습니다.
얼른 적용해보고 보고 드리겠습니다.
잘됩니다.^^
겟방식으로 활용하는 관계로 bo_1값으로 사이즈를 제한하기 위해 쿼리를 한번더 넣어서 다음과 같이 단순하게 해보았습니다.
//썸네일 생성 링크 가져오기
//친절한서기님
function extract_img($src) {
$re = '/src[ =]+[\'"]([^\'"]+\.(?:gif|jpg|png|bmp))[\'"]/i';
preg_match_all($re, $src, &$match, PREG_PATTERN_ORDER);
return $match[1];
}
$sql = " select * from " . $g4['write_prefix'] . $bo_table . " ";
if (!empty($wr_id)){//레코드별로 처리할 경우를 위해 추가
$sql .= " where wr_id = '" . $wr_id . "' ";
}
$results = sql_query($sql);
$cnt = 0;
for ($i=0; $row=sql_fetch_array($results); $i++) {
$imgs = extract_img($row['wr_content']);
$cnt++;
//유창화님 썸네일 생성 함수와 연결
if (!empty($imgs[0])) { //본문에 이미지 있음
$url = $imgs[0];//첫번째 링크된 이미지
$save_dir = $thumb_path;//저장경로
$referer = "";//속일 리퍼러, 넣지 않아도 됨
$thumb = $save_dir . '/s_' . base64_encode($url);
if (!file_exists($thumb)) {//썸네일 없다면
//if ((is_file($url)) && (!file_exists($thumb))) {//원본이미지 있고 썸네일 없을때 실행한다.?
//썸네일 최대 사이즈 제한 - 여분필드 bo_1 사용 예(100,160) 구분자 , 으로 가로세로 최대치 입력
$sqls = sql_query(" select bo_1 from " . $g4['board_table'] . " where bo_table = '" . $bo_table . "' ");
$rows=sql_fetch_array($sqls);
if (empty($rows['bo_1'])) {//기본값 입력
$rows['bo_1'] = "100,160";
$sql = " update ".$g4['board_table']." set bo_1 = '".$rows['bo_1']."' where bo_table = '".$bo_table."' ";
sql_query($sql);
}
list($w, $h) = explode(",", $rows['bo_1']);
$result = Ymake_sumnail_remoteimage($url, $save_dir, $w, $h, $referer);
echo "<br><br>원본 - " . $url;
if (empty($result)) echo "<br>png 썸네일 생성에 실패하였습니다. 저장디렉토리의 퍼미션이나 원본의 이미지포맷, 또는 gd지원여부를 확인하세요.";
else echo "<br>png 썸네일 <img src='" . $dest_file . "' border=0><br>" . $dest_file;
}
}
}
겟방식으로 활용하는 관계로 bo_1값으로 사이즈를 제한하기 위해 쿼리를 한번더 넣어서 다음과 같이 단순하게 해보았습니다.
//썸네일 생성 링크 가져오기
//친절한서기님
function extract_img($src) {
$re = '/src[ =]+[\'"]([^\'"]+\.(?:gif|jpg|png|bmp))[\'"]/i';
preg_match_all($re, $src, &$match, PREG_PATTERN_ORDER);
return $match[1];
}
$sql = " select * from " . $g4['write_prefix'] . $bo_table . " ";
if (!empty($wr_id)){//레코드별로 처리할 경우를 위해 추가
$sql .= " where wr_id = '" . $wr_id . "' ";
}
$results = sql_query($sql);
$cnt = 0;
for ($i=0; $row=sql_fetch_array($results); $i++) {
$imgs = extract_img($row['wr_content']);
$cnt++;
//유창화님 썸네일 생성 함수와 연결
if (!empty($imgs[0])) { //본문에 이미지 있음
$url = $imgs[0];//첫번째 링크된 이미지
$save_dir = $thumb_path;//저장경로
$referer = "";//속일 리퍼러, 넣지 않아도 됨
$thumb = $save_dir . '/s_' . base64_encode($url);
if (!file_exists($thumb)) {//썸네일 없다면
//if ((is_file($url)) && (!file_exists($thumb))) {//원본이미지 있고 썸네일 없을때 실행한다.?
//썸네일 최대 사이즈 제한 - 여분필드 bo_1 사용 예(100,160) 구분자 , 으로 가로세로 최대치 입력
$sqls = sql_query(" select bo_1 from " . $g4['board_table'] . " where bo_table = '" . $bo_table . "' ");
$rows=sql_fetch_array($sqls);
if (empty($rows['bo_1'])) {//기본값 입력
$rows['bo_1'] = "100,160";
$sql = " update ".$g4['board_table']." set bo_1 = '".$rows['bo_1']."' where bo_table = '".$bo_table."' ";
sql_query($sql);
}
list($w, $h) = explode(",", $rows['bo_1']);
$result = Ymake_sumnail_remoteimage($url, $save_dir, $w, $h, $referer);
echo "<br><br>원본 - " . $url;
if (empty($result)) echo "<br>png 썸네일 생성에 실패하였습니다. 저장디렉토리의 퍼미션이나 원본의 이미지포맷, 또는 gd지원여부를 확인하세요.";
else echo "<br>png 썸네일 <img src='" . $dest_file . "' border=0><br>" . $dest_file;
}
}
}

멋진 물건이네요....수고 많으셨습니다...^^
그누 고수님들께서 공개해주신 멋진팁에 삽질만 약간 했을뿐입니다.^^
역시
메뉴및 웹진의 대명사
플록님이십니다.
특히 썸네일 관련해서 완벽합니다..
메뉴및 웹진의 대명사
플록님이십니다.
특히 썸네일 관련해서 완벽합니다..
ㅎㅎ 고수님들께서 웃고 계십니다.^^
저는 아무것도 한게 없습니다.
웹진은 오달수님과 균이님의 팁을, 썸네일은 유창화님 소스코드를 원용한것 입니다.
저는 아무것도 한게 없습니다.
웹진은 오달수님과 균이님의 팁을, 썸네일은 유창화님 소스코드를 원용한것 입니다.

전 특정 이미지만 가져다가 썸했는데 좋군요 고맙습니다.

보안에 문제가 된다면 어느위치에서 몇개 하시는게 좋지않을까요?
XXX을 적당히 자르시는것도 좋을것 같습니다.
substr(암호된XXX,0,15) 15개로 잘라줌니다.
고맙습니다
XXX을 적당히 자르시는것도 좋을것 같습니다.
substr(암호된XXX,0,15) 15개로 잘라줌니다.
고맙습니다
감사합니다.^^
이전에 주신 자료도 아직 공부를 못하고있네요,,
갈길이 까마득 합니다.
이전에 주신 자료도 아직 공부를 못하고있네요,,
갈길이 까마득 합니다.
멋진 스킨입니다. 저작권이 무서워 그림은 못가져오고 외부이미지 링크걸고 섬브네일만 사용하면 좋겠다고 생각하고 있었는데 님의 스킨이 딱입니다. 이 스킨 공개해 주실날만 학수고대합니다. 감사합니다.