https://xe1.xpressengine.com/tip/19939773

이 팁 보고 Youtube 썸네일 되게 하려고 하는데 죽어도 안 되네요.

혹시 되시는 분들 방법 공유 가능한가요.

 

 

아래 코드는

function getThumbnail 에 추가해본 소스입니다.

 

----소스---

if(!$source_file)
        {
            $content = $this->get('content');            
            $target_src = null;
            
            

            # try to get all Cases
            if (preg_match('~(?:youtube\.com/(?:user/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})~i', $content, $match)) {
                $youtubeid = $match[1];
            }
            # try to get some other channel codes, and fallback extractor
            elseif(preg_match('~http://www.youtube.com/v/([A-Za-z0-9\-_]+).+?|embed\/([0-9A-Za-z-_]{11})|watch\?v\=([0-9A-Za-z-_]{11})|#.*/([0-9A-Za-z-_]{11})~si', $content, $match)) {

                for ($i=1; $i<=4; $i++) {
                    if (strlen($match[$i])==11) {
                        $youtubeid = $match[$i];
                    }
                }
            }
            else {
                $youtubeid = "";
            }

            if ($youtubeid != "") {
                $target_src = "http://img.youtube.com/vi/".$youtubeid."/0.jpg";
                $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))
                {
                    $source_file = $tmp_file;
                    $is_tmp_file = true;
                }
            }    
        }

 

-------

 

$youtubeid 까지 잘 추출된다는 것은

따로 test.php 까지 만들어봐서 확인을 했는데요.

 

제 머릿속에서는 저게 분명 작동을 해야하는데 죽어도 썸네일을 안 만들어주네요... 

 

ㅠㅠ

 

1.8.15 어떻게 동영상 썸네일 만들고 계신가요.

  • ?

    현재 동영상 썸네일 가능케해주는 애드온/컴포넌트 두 개 있습니다.

    xpressengine.com 동영상 썸네일 애드온 (게시판 요약/썸네일 추가 후 작동 됨)
    에디터 컴포넌트중에 LINA님이 만들어두신 (타운에도 적용되어있어요) 추가 컴포넌트 있는데요

    사용하기 편리한 것은 (영상크기 바꾸거나, 영상주소만 넣어서 영상추출하는 기능이있기에)
    후자네요. 하지만 전자는 지원하는 영상사이트가 몇 가지 더 많았던 것 같습니다.

    결국 베스트는 후자의 컴포넌트가 기능면에서 좀 더 좋아지면 좋겠는데..

    이미 완성된 애드온을 개선해주실 분이 있을지 몰라서..

  • ? ?
    전자 애드온은 설치해보았지만. 작동하지 않습니다. (1.8.15) ㅠㅠ

    그 컴포넌트(후자)는, 컴포넌트를 사용해서 영상을 넣을 경우에만 작동하는 것은 아닌가요?
    가령 그냥 html편집 버튼 눌러서 소스 붙여넣기로 작성을 한 경우에도 썸네일이 생성되나요?
  • ? ?

    아뇨 ㅎㅎ 이해하신게 맞습니다. (html로 편집하면 안될거에요)
    오잉 저는 15였지만 확인 해보니 작동 했어요.. 제가 착각했던 걸 수도 있겠네요 ..

    음..컴포넌트가 생각보다 좋아요
    이게 막상 진짜 시간없고 그러면 공유버튼 찾기도 힘들고 귀찮을 때 사이트 주소만 적으면 그냥 추출해버리고나 하는 경우도 있고(이게 매우 큽니다 ) 영상크기 지정도 하고 싶을 때가 있고해서 생각보다 편리합니다 ㅎㅎ

  • ?
    아 해결했습니다...
    if(!$this->get('uploaded_count') && !preg_match("!<img!is", $this->get('content'))) return; 주석처리 해야하네요.
  • profile
    애드온 안되나요?? 흠..
  • profile ?
    네. 소스 열어보고 테스트해봐도 잘 되야 맞을 것 같은데 잘 안되더라구요... ㅠㅠ
  • ?
    @김웃김 님 말씀처럼 주석처리하니깐 스케치북 갤러리형에서 썸네일이 잘 나옵니다. 근데 다른 일반 게시판 갤러리형에서는 썸네일이 안나오네요..ㅠㅠ 모든 게시판에 동일하게 적용되는거 아닌가요? 코어 수정을 했으니..