포럼

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

그래서 외부 이미지의 썸네일 생성과정을 살펴보니 모든 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;
					}
				}
			}
		}





글쓴이 제목 최종 글
BJ람보 [XpressEngine] Slack 채팅방에 같이 참여하기!  
BJ람보 1.8.12으로 인해 ajaxboard의 Redirect 실행오류. [2] 2015.10.25 by BJ람보
CosignStudio 검색중 XE와 워드프레스 관련 글이 있어서 공유해 봅니다. [29] 2015.10.23 by seven7
treasurej [아프리카TV 생방송] 충쌤의 XE랑(월,화 밤11시) * 진화쌤의 반응형 레이아웃 제작(수,목 밤10시) [29] file 2015.10.23 by 마음의빈자리
이온디 [레이아웃 자랑] 이온디 레이아웃 버전 0.3 (2015년 10월 23일) file  
BJ람보 듣고 싶은 XE관련 강좌! 신청 받아요.. [1] 2015.10.20 by 키스투엑스이
고나리자 클라우드플레어 좋긴한데 속도 저하가 심각하네요. [2] 2015.10.20 by BJ람보
오똥오똥 XECon 2015를 기다리고 있는 병아리 개발자입니다. [2] 2015.10.20 by 퍼니엑스이
misol 문제가 된 글을 삭제했습니다. [11] 2015.10.18 by misol
미니룹 비용을 들여서라도 플래닛 모듈을 업그레이드 해볼 생각입니다. [2] 2015.10.18 by 키스투엑스이
배워서남준다 모든 POST 요청은 checkCSRF()를 통해 referer 검증 등의 절차를 거칩니다.  
배워서남준다 가상 사이트 어떻게 사용하고 계시나요? [14] 2015.10.17 by 배워서남준다
newi nginx 1.9.5 버전 괜찮은 가요 ? [1] 2015.10.16 by 기진곰
가을풍경 XECon2015 에 같이 가실 대구분 없나요?  
misol 제가 문제를 일으킨 코드를 걸러내는 애드온입니다. file  
배워서남준다 카페XE 에서 관리자 권한 문제에 대해서... [9] 2015.10.15 by 이온디
배워서남준다 XE에서 사용하는 아이콘들을 모아봤습니다. [4] file 2015.10.13 by 참치.k
BJ람보 [BJRambo] XpressEngine 위젯강의 [1] 2015.10.13 by BJ람보
레몬시 이 사이트도 XE로 만들어진 사이트인가요? [2] file 2015.10.07 by misol
delphiXE2 XE3이 어떤 모습일지 기대가 큽니다. [2] 2015.10.07 by XE