게시판 본문(view.skin.php)에서 썸네일을 불러오려고 합니다.
본문
안녕하세요.
게시판에 첨부파일로 올린 이미지를 본문에서 썸네일로 불러오려고
아래와 같은 방법을 이용했습니다.
<?php
$filename = $view['file'][0]['file'];
$filepath = G5_DATA_PATH.'/file/'.$bo_table;
$filesrc = G5_DATA_URL.'/file/'.$bo_table.'/'.$filename;
$thumb = thumbnail($filename, $filepath , $filepath , 400, 400, false, true);
$thumbsrc = G5_DATA_URL.'/file/'.$bo_table.'/'.$thumb;
?>
<img src="<?=$thumbsrc?>">
이렇게 하면 첫번째 첨부 파일의 썸네일이 생성되고,
<?php
$filename = $view['file'][1]['file'];
$filepath = G5_DATA_PATH.'/file/'.$bo_table;
$filesrc = G5_DATA_URL.'/file/'.$bo_table.'/'.$filename;
$thumb = thumbnail($filename, $filepath , $filepath , 400, 400, false, true);
$thumbsrc = G5_DATA_URL.'/file/'.$bo_table.'/'.$thumb;
?>
<img src="<?=$thumbsrc?>">
이렇게 하면 두번재 첨부 파일의 섬네일 생성되고요.
그런데, 이렇게 따로따로 불어오지 않고,
첨부한 이미지를 한번에 모두 썸네일로 불러오고 싶은데,
방법을 모르겠습니다.
대략
for ($i=1; $i<=10; $i++) {
를 이용하니 썸네일이 주소는 제대로 생성이 되는듯 한데,
정확히 불러오는 방법을 모르겠네요.
혹시 아시는 분 답변 주시면 정말 감사하겠습니다.
!-->!-->답변 2
view스킨 상단에서 모든 화일 썸네일 생성하기
for ($i=0; $i<$view['file']['count']; $i++) {
$filename = $view['file'][$i]['file'];
$filepath = G5_DATA_PATH."/file/{$bo_table}";
$thum[] = thumbnail($filename, $filepath, $filepath, 400, 400);
}
$path= G5_DATA_URL.'/file/'.$bo_table;
사용할 곳에서 img src="< ? $path? >/< ? $thumb[0]? > 처럼 하나씩 출력
또는 for문 사용
for($k=0; $k < $view['file']['count']; $k++){ ? >
< img src=~~~~/<? $thumb[$k] ? >
좀 더 쉽게 할 수 있는 방법으로 구현을 하자면
lib/thumnail.lib.php파일에서
get_file_thumbnail을 찾아서
function get_file_thumbnail($file, $thumb_width=0){
if( ! is_array($file) ) return '';
if( preg_match('/(\.jpg|\.jpeg|\.gif|\.png|\.bmp|\.webp)$/i', $file['file']) && $contents = run_replace('get_file_thumbnail_tags', '', $file) ){
return $contents;
} else if ($file['view']) {
if ($thumb_width){
return get_view_thumbnail($file['view'],$thumb_width);
} else {
return get_view_thumbnail($file['view']);
}
}
return $file['view'];
}
식으로 thumb_width를 받아올 수 있게 수정을 하구요
400사이즈로 보여지고 하는 보드 스킨의 view.skin.php에서
echo get_file_thumbnail($view_file);
이라고 된 부분을
echo get_file_thumbnail($view_file,400);
그 아래부분도 혹시 모르니까
get_view_thumbnail($view['content']);
된 부분을
get_view_thumbnail($view['content'],400);
이런식으로 하면 400px짜리 썸네일로 이미지들 다 자동 생성해서 보여줄 거 같습니다..
!-->!-->!-->!-->!-->