포럼

티스토리의 이미지 링크를 이용할경우 썸네일 생성이 되지 않더군요.

그래서 외부 이미지의 썸네일 생성과정을 살펴보니 모든 src를 검색 후 다시 확장자를 검사해서 이미지 파일인경우 썸네일 생성을 시도하는 형식으로 생각 됩니다.

그리고 첨부파일의 처리부분에는 없는 썸네일의 최대 사이즈를 제한하는 조건문도 존재하네요 @.@


그래서 외부 이미지의 썸네일 생성 부분을 아래처럼 수정해 봤는데 문제 없을지 의견좀 부탁 드립니다. 그리고 외부 이미지의 썸네일 생성과정에만 존재하는 최대 사이즈 제한 부분은 왜 있는것일까요?


현재:

$content에서 src 태그를 모두 검색 후 이미지 파일이 있을경우 썸네일 생성시도.

의문: 원본 이미지보다 큰 사이즈의 썸네일 생성이 불가능 하도록하는 조건문이 있음.

이미지 파일 판단 기준: 확장자가 다음중 하나이면 이미지 파일 (jpg, png, jpeg, gif, bmp)


수정:

$content에서 img 태그를 모두 검색 후 썸네일 생성시도.

원본 이미지보다 큰 사이즈의 썸네일 생성을 막는 코드 삭제

이미지 파일 판단 기준: img 태그를 검색 했으므로 무조건 이미지파일로 판단


개선사항:

확장자가 없는 외부 이미지의 썸네일도 생성 가능. 예) 티스토리의 이미지 링크


modules\document\document.item.php

// If not exists, file an image file from the content
		if(!$source_file)
		{
			$content = $this->get('content');
			$target_src = null;
			preg_match_all('/<\s*img[^>]*src\s*=\s*["\']?([^"\']*)/i', $content, $matches, PREG_SET_ORDER);
			$cnt = count($matches);
			for($i=0;$i<$cnt;$i++)
			{
				$target_src = trim($matches[$i][1]);
				if(preg_match('/\/(common|modules|widgets|addons|layouts)\//i', $target_src)) continue;
				else
				{
					if(!preg_match('/^(http|https):\/\//i',$target_src)) $target_src = Context::getRequestUri().$target_src;

					$tmp_file = sprintf('./files/cache/tmp/%d', md5(rand(111111,999999).$this->document_srl));
					if(!is_dir('./files/cache/tmp')) FileHandler::makeDir('./files/cache/tmp');
					FileHandler::getRemoteFile($target_src, $tmp_file);
					if(!file_exists($tmp_file)) continue;
					else
					{
						$source_file = $tmp_file;
						$is_tmp_file = true;
						break;
					}
				}
			}
		}





글쓴이 제목 최종 글
AJKJ 무료SSL 프로젝트 Let's Encrypt [21] file 2015.11.16 by AJKJ
플레이캠핑 XE1과 XE3의 차이 그것은... [2] 2016.01.11 by 기진곰
베이직 다들 XECon 잘 보셧나요 ㅇㅁㅇ [2] 2015.11.15 by 베이직
라샤 XE 개발자분들의 의견 부탁드립니다. [6] 2015.11.14 by 독도2005
BJ람보 [XpressEngine] 1.8.12 ~ 1.8.14 패치 노트 리뷰  
마래바 섬네일 나타나기 시작  
기진곰 소셜 로그인의 명암 [14] 2015.11.12 by 기진곰
이온디 xecon 참석하시는 분들 계시면 모여서 ktx 할인 적용해서 같이 가보실래요? [6] 2015.11.11 by 독도2005
엘포 Let's Encrypt 설치해 보았습니다 [12] 2015.11.11 by 엘포
이온디 [스킨자랑] 포인트 마켓 스킨 만들었어요! [7] file 2015.11.11 by 이온디
광전사 XE는 어떤형식으로 게시판이 만들어지나요? [1] 2015.11.08 by misol
웹엔진 XE 데모가 생겼네요. [2] 2015.11.07 by Stever베이직스터더
뭐로할까 진짜 초보적인 질문 죄송한데요ㅠㅠ [3] 2015.11.07 by I-JEX
데벨 퍼니오 호스팅 사용해보신분 있으신가요? [16] 2015.11.06 by 이온디
마이웹 laraveltricks.com 사이트 복제 후기 입니다. [2] 2015.11.05 by 마이웹
마이웹 오늘 Laravel 설치했습니다. [3] 2015.11.04 by 마이웹
가르송 스팸글 대박이네요.. [4] file 2015.11.04 by Icarus
BJ람보 [XpressEngine] XE 모듈속 메소드 이용하기! [중고급강좌]  
위드파트너 1.8.12 보안패치 -> xe 알림센터 모듈 오류 [6] 2015.11.03 by 위드파트너
익명 php 5.2.17에서 XE를 쓰기위해 다른 버전을 쓰면...? [3] 2015.11.02 by Luatic™