갤러리 첨부파일 수정 시 썸네일 엑박 에러

갤러리 첨부파일 수정 시 썸네일 엑박 에러

QA

갤러리 첨부파일 수정 시 썸네일 엑박 에러

본문

갤러리 게시판에서 초기 작성시에는 첨부파일 이미지가 글 목록에서 썸네일로 잘 나오는데,

글 작성 후에 등록된 첨부파일을 삭제 후 다시 등록하면 글보기에는 이미지가 나오는데

글 목록에서 썸네일이 생성되지 않습니다..ㅠ

혹시 어떤 부분에서 에러가 발생하는 걸까요?

 

 

이 질문에 댓글 쓰기 :

답변 1

관리자 모드 -> 썸네일파일 일괄삭제 실행후 확인해보세요.

넵 707로 되어있습니다.

아미나 빌더로 제작이되었습니다.
테마관리->기본설정에서 게시물 업데이트를하니깐 변경된 썸네일이 정상적으로 나오는데, 어떤게 문제일까요? 꼭 게시물 업데이트를 클릭해야만 변경된 썸네일이 나오고 있어서요

친절하게 답변해주셔서 정말 감사합니다.

lib/thumbnail.lib 파일을 확인했지만, 별다른 스킨에 대한 정보는 나와있지 않았습니다.

<?php
if (!defined('_GNUBOARD_')) exit;

@ini_set('memory_limit', '-1');

// 게시글리스트 썸네일 생성
function get_list_thumbnail($bo_table, $wr_id, $thumb_width, $thumb_height, $is_create=false, $is_crop=false, $crop_mode='center', $is_sharpen=false, $um_value='80/0.5/3')
{
    global $g5, $config;
    $filename = $alt = "";
    $edt = false;

    $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);

    if($row['bf_file']) {
        $filename = $row['bf_file'];
        $filepath = G5_DATA_PATH.'/file/'.$bo_table;
        $alt = get_text($row['bf_content']);
    } else {
        $write_table = $g5['write_prefix'].$bo_table;
        $sql = " select wr_content from $write_table where wr_id = '$wr_id' ";
        $write = sql_fetch($sql);
        $matches = get_editor_image($write['wr_content'], false);
        $edt = true;

        if(isset($matches[1]) && is_array($matches[1])){
            for($i=0; $i<count($matches[1]); $i++)
            {
                // 이미지 path 구함
                $p = parse_url($matches[1][$i]);
                if(strpos($p['path'], '/'.G5_DATA_DIR.'/') != 0)
                    $data_path = preg_replace('/^\/.*\/'.G5_DATA_DIR.'/', '/'.G5_DATA_DIR, $p['path']);
                else
                    $data_path = $p['path'];

                $srcfile = G5_PATH.$data_path;

                if(preg_match("/\.({$config['cf_image_extension']})$/i", $srcfile) && is_file($srcfile)) {
                    $size = @getimagesize($srcfile);
                    if(empty($size))
                        continue;

                    $filename = basename($srcfile);
                    $filepath = dirname($srcfile);

                    preg_match("/alt=[\"\']?([^\"\']*)[\"\']?/", $matches[0][$i], $malt);
                    $alt = get_text($malt[1]);

                    break;
                }
            }
        }
    }

    if(!$filename)
        return false;

    $tname = thumbnail($filename, $filepath, $filepath, $thumb_width, $thumb_height, $is_create, $is_crop, $crop_mode, $is_sharpen, $um_value);

    if($tname) {
        if($edt) {
            // 오리지날 이미지
            $ori = G5_URL.$data_path;
            // 썸네일 이미지
            $src = G5_URL.str_replace($filename, $tname, $data_path);
        } else {
            $ori = G5_DATA_URL.'/file/'.$bo_table.'/'.$filename;
            $src = G5_DATA_URL.'/file/'.$bo_table.'/'.$tname;
        }
    } else {
        return false;
    }

    $thumb = array("src"=>$src, "ori"=>$ori, "alt"=>$alt);

    return $thumb;
}

// Exif 출력정보 생성
function apms_get_view_exif($exif, $srcfile, $txt) {

if(empty($exif)) return;

$list = array();

if(isset($exif['Model']) && $exif['Model']) {
$list[] = astxt($txt['model'], array($exif['Model'])); //카메라모델명
}

if(isset($exif['LensModel']) && $exif['LensModel']) {
$list[] = astxt($txt['lensmodel'], array($exif['LensModel'])); //렌즈모델
} else if(isset($exif['UndefinedTag:0xA434']) && $exif['UndefinedTag:0xA434']) {
$list[] = astxt($txt['lensmodel'], array($exif['UndefinedTag:0xA434'])); //렌즈모델
} else if(isset($exif['LensInfo']) && $exif['LensInfo']) {
$list[] = astxt($txt['lensinfo'], array($exif['LensInfo'])); //렌즈정보
}

if(isset($exif['DateTimeOriginal']) && $exif['DateTimeOriginal']) {
$list[] = astxt($txt['datetime'], array($exif['DateTimeOriginal'])); //촬영일시
}

if(isset($exif['ExposureProgram'])) {
switch($exif['ExposureProgram']) {
case '0' : $expomode = $txt['exposure1']; break; //자동모드
case '1' : $expomode = $txt['exposure2']; break; //수동모드
case '2' : $expomode = $txt['exposure3']; break; //프로그램모드
case '3' : $expomode = $txt['exposure4']; break; //조리개모드
case '4' : $expomode = $txt['exposure5']; break; //셔터스피드모드
default : $expomode = ''; break; //Unknown
}
if($expomode) {
$list[] = astxt($txt['exposure'], array($expomode)); //촬영모드
}
}

if(isset($exif['ExposureTime']) && $exif['ExposureTime']) {
$list[] = astxt($txt['expostime'], array($exif['ExposureTime'])); //셔터속도
}

if(isset($exif['COMPUTED']['ApertureFNumber']) && $exif['COMPUTED']['ApertureFNumber']) {
$list[] = astxt($txt['aperture'], array($exif['COMPUTED']['ApertureFNumber'])); //조리개
}

if(isset($exif['ISOSpeedRatings']) && $exif['ISOSpeedRatings']) {
$list[] = astxt($txt['iso'], array($exif['ISOSpeedRatings'])); //ISO
}

if(isset($exif['WhiteBalance'])) {
switch($exif['WhiteBalance']) {
case '0' : $whitebal = $txt['whitebal1']; break; //Auto
case '1' : $whitebal = $txt['whitebal2']; break; //Manual
default : $whitebal = ''; break; //Unknown
}
if($whitebal) {
$list[] = astxt($txt['whitebal'], array($whitebal)); //화이트밸런스
}
}

lib/thumbnail.lib 이 별도 커스텀이 된 것 같습니다.
잘 사용하던 홈페이지에서 발생한 것인가요 ?
그렇지 않다면 재설치를 통해 다시 시도를 하는 방법이 있으며.
갑자기 증상이 발생한 경우에는 일단 해당 증상에 관해 정보가 부족하기도 하고.
해당 증상 관련 사진 전 후 ,도메인, 오류발생 경로를 다시 한번 질문게시판에 올려
동일한 증상으로 해결되거나 방법을 아시는분에게 조언을 받아보는게 좋을 것 같습니다.

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

회원로그인

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