고수경제TV
Category
개발Customer
(주)고수경제티브이Date
2020내용
자사 홈페이지 개발 유튜브에서 실시간으로 영상을 가져오게끔 개발하였습니다.
이 사이트는 PC, 모바일 따로 제작 되었습니다.
프로젝트를 빨리 진행하길 원해서 SIR을 이용해 프론트와 관리자 페이지를 완성하였습니다.
다른 사이트와 다른 부분은 유튜브 영상을 가져오는 부분이고 아래 관련 소스를 보실수 있습니다.
db에 유튜브 관련하여 시간을 체크
$youtube_savedate = date("Y-m-d");//날짜 선택
$youtube_savedtime = strtotime("now");//현재시간
$youtube_endtime = strtotime("+1 hours");//새로고침할 시간
//youtube가 데이터 있는지 체크
$sql = "SELECT * FROM `youtube_save` WHERE savedate = '$youtube_savedate' AND savetime_end >= '$youtube_savedtime' ORDER BY `no` DESC LIMIT 1";
$result = sql_query($sql);
$youtube_data = sql_num_rows($result);
유튜브에서 영상을 땡겨오는 부분
function getFromUrl($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
//설정한 시간 안에 youtube 데이터가 없을 경우 API 통해서 결과 뿌려주면서 DB에 저장
//Get videos from channel by YouTube Data API
$API_key = 'AIzaSyCYokCoowFdSrdQ1ZhrSPxJ_RWexRHE1Mk'; //my API key
$channelID = 'UCFzH8xO7arP-XPBlU-DDilw'; //my channel ID
$maxResults = 6;
$query = 'https://www.googleapis.com/youtube/v3/search?order=date&part=snippet&channelId='.$channelID.'&maxResults='.$maxResults.'&key='.$API_key.'';
$json = getFromUrl($query);//curl 수행 결과, json 형식으로 받아 온다.
$array = json_decode($json, true); //이것을 php에서 사용하기 위해 array로 디코딩?
for ($i =1; $i < count($array); $i++){
$title = $array['items'][$i]['snippet']['title'];
$thumb = $array['items'][$i]['snippet']['thumbnails']['high']['url'];
$description = $array['items'][$i]['snippet']['description'];
$publishedAt = $array['items'][$i]['snippet']['publishedAt'];
$videoId = $array['items'][$i]['id']['videoId'];
if($videoId != NULL) { ?>
<div class="swiper-slide">
<div class="youtube_size">
<a href="https://www.youtube.com/watch?v=<?php echo $videoId ?>" target="_blank"><img src="https://img.youtube.com/vi/<?php echo $videoId ?>/maxresdefault.jpg"></a>
</div>
</div>
<?php };
};
$youtube_sql_1 = $array['items']['1']['id']['videoId'];
$youtube_sql_2 = $array['items']['2']['id']['videoId'];
$youtube_sql_3 = $array['items']['3']['id']['videoId'];
$youtube_sql_4 = $array['items']['4']['id']['videoId'];
$youtube_sql_5 = $array['items']['5']['id']['videoId'];
$sql1 ="INSERT INTO `gosuhome`.`youtube_save` (`savedate`, `youtube_1`, `youtube_2`, `youtube_3`, `youtube_4`, `youtube_5`, `savetime`, `savetime_end`) VALUES ('$youtube_savedate', '$youtube_sql_1', '$youtube_sql_2', '$youtube_sql_3', '$youtube_sql_4', '$youtube_sql_5', '$youtube_savedtime', '$youtube_endtime');";
$result1 = sql_query($sql1,false);