텍스트 파일을 읽어서 랜덤하게 출력하기 질문입니다.
본문
검색을 해보니....txt 파일에 내용을 한줄씩 적어서, 랜덤하게 내용을 불러오는 방법이라고 합니다.
저 방법을 이용해서, 유투브의 동영상을 랜덤하게 불러오려고 합니다.
video_id.txt 라는 파일을 만들어서
bwmSjveL3Lc
5m2KBDBueAM
dISNgvVpWlo
.
.
.
...의 형태로 한줄씩 유투브 동영상의 videoid를 적고 아래와 같이 txt 파일을 읽어서
<? echo $video_id; ?>의 방법으로 시도해보았는데, 작동이 안되네요...
에러 화면도 안나오고...유투브 화면자체도 안 나옵니다.
뭐가 문제일까요??
<?
$f_contents = file ("video_id.txt");
$video_id = $f_contents[array_rand ($f_contents)];
?>
<div id="player"> </div>
<script>
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
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>
!-->
답변 1
<?
// 텍스트파일내의 각 줄끝에 개행(새줄)문자붙어있으면 제거 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 = "https://www.youtube.com/iframe_api";
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>
답변을 작성하시기 전에 로그인 해주세요.