테스트 사이트 - 개발 중인 베타 버전입니다

텍스트 파일을 읽어서 랜덤하게 출력하기 질문입니다. 채택완료

냉동개구리 9년 전 조회 4,536

http://sir.kr/pg_tip/15074">http://sir.kr/pg_tip/15074 

 

검색을 해보니....txt 파일에 내용을 한줄씩 적어서, 랜덤하게 내용을 불러오는 방법이라고 합니다.

 

저 방법을 이용해서, 유투브의 동영상을 랜덤하게 불러오려고 합니다.

 

video_id.txt 라는 파일을 만들어서

 

bwmSjveL3Lc 

5m2KBDBueAM 

dISNgvVpWlo 

.

.

.

 

...의 형태로 한줄씩 유투브 동영상의 videoid를 적고 아래와 같이 txt 파일을 읽어서

의 방법으로 시도해보았는데, 작동이 안되네요... 

에러 화면도 안나오고...유투브 화면자체도 안 나옵니다.

 

뭐가 문제일까요??

 

</p><p><?</p><p>$f_contents = file ("video_id.txt");</p><p>$video_id = $f_contents[array_rand ($f_contents)];</p><p> </p><p>?></p><p> </p><p>    <div id="player"> </div></p><p> </p><p>    <script>     </p><p>      var tag = document.createElement('script');</p><p> </p><p>      tag.src = "<a href="<a href="https://www.youtube.com/iframe_api" target="_blank" rel="noopener noreferrer">https://www.youtube.com/iframe_api</a>"><a href="https://www.youtube.com/iframe_api" target="_blank" rel="noopener noreferrer">https://www.youtube.com/iframe_api</a></a>";</p><p>      var firstScriptTag = document.getElementsByTagName('script')[0];</p><p>      firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);</p><p>   </p><p>      var player;</p><p>      function onYouTubeIframeAPIReady() {</p><p>        player = new YT.Player('player', {</p><p>          height: '566',</p><p>          width: '1008',</p><p>          videoId: '<? echo $video_id; ?>',</p><p>          </p><p>          playerVars: {</p><p>          autoplay: 1,</p><p>          controls: 0,</p><p>          disablekb: 1,</p><p>          loop: 1,</p><p>          modestbranding: 1,</p><p>          showinfo: 0,</p><p>          autohide: 1,</p><p>          iv_load_policy: 3,</p><p>          cc_load_policy: 0,</p><p>          rel: 0</p><p>        },</p><p>        events: {</p><p>            'onReady': onPlayerReady,</p><p>        }</p><p>    });</p><p>  }</p><p> </p><p> function onPlayerReady(event) {</p><p>        event.target.playVideo();</p><p>        player.mute();</p><p>        player.setVolume(0);</p><p>        //player.setSize(1920, 1080);</p><p>        player.setLoop(true);</p><p>        player.setPlaybackQuality('hd1080');</p><p>      }</p><p>    </script></p><p>

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
9년 전

<span style="line-height: normal; font-size: 11pt;"><?</span></p><pre><span style="line-height: normal;">// 텍스트파일내의 각 줄끝에 개행(새줄)문자붙어있으면 제거 AND 비어있는 줄 제거
$f_contents = file ("video_id.txt", FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES);
$video_id = $f_contents[array_rand ($f_contents)];
 
?>
 
    <div id="player"> </div>
 
    <script>     
      var tag = document.createElement('script');
 
      tag.src = "<a href="https://www.youtube.com/iframe_api" target="_blank" rel="noopener noreferrer">https://www.youtube.com/iframe_api</a>";
      var firstScriptTag = document.getElementsByTagName('script')[0];
      firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
   
      var player;
      function onYouTubeIframeAPIReady() {
        player = new YT.Player('player', {
          height: '566',
          width: '1008',
          videoId: '<? echo $video_id; ?>',
          
          playerVars: {
          autoplay: 1,
          controls: 0,
          disablekb: 1,
          loop: 1,
          modestbranding: 1,
          showinfo: 0,
          autohide: 1,
          iv_load_policy: 3,
          cc_load_policy: 0,
          rel: 0
        },
        events: {
            'onReady': onPlayerReady,
        }
    });
  }
 
 function onPlayerReady(event) {
        event.target.playVideo();
        player.mute();
        player.setVolume(0);
        //player.setSize(1920, 1080);
        player.setLoop(true);
        player.setPlaybackQuality('hd1080');
      }
    </script>
</span><span style="line-height: 1.5; font-family: 돋움; font-size: 11pt;">
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

냉동개구리
9년 전
감사합니다! 글러빙님!
또 다시 도움을 주셨네요 (--)(__)

적용하니 잘 작동됩니다!

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인