CI에 해당하는 글 2

plex movie feed

plex서버에서 최신피드 xml 형으로 만들기


드라마/예능 라이브러리는 xml 방식이 조금다르다. 


* php / codeigniter 기준으로 되어있습니다. 


1. Simplexml 라이브러리 


출처 : https://www.codeigniter-kr.org/bbs/view/source?idx=7542


Simplexml.php


2. xml 주소만들기 


토큰과 카테고리 주소를 알아야된다.


가장쉬운방법으로는 영상 정보에서 xml열기로 확인하자



1. 정보보기

2. view xml


xml 파일을 열어보면 주소 마지막에 토큰값이 있다. ( X-Plex-Token= )

카테고리는 librarySectionKey="/library/sections/21"부분 확인




이제 최신 영화 피드를 보는 xml를 만들어보자.


http://server-ip:32400/library/sections/카테고리ID/recentlyAdded?X-Plex-Container-Size=10&X-Plex-Token=토큰ID


들어가서 확인해보면 xml이 만들어져있다. 


3. xml 파싱하기


//Controller 
public function index()
{
	$this->load->model('plexMediaFeed');
	$url = 'server-url';
	$token = '토큰ID';
	$category =  카테고리ID

	$data = array(
		'movieData' => $this->plexMediaFeed->getMovieFeed($url,$token,$category,5)
	);
	$this->load->view('plex-update',$data);
}

//Model 
/**
* $url : 서버주소
* $token : 토큰ID
* $category : 카테고리ID
* $limit : 가져올 개수 
**/
function getMovieFeed($url,$token,$category,$limit='5') {
	$xml_url = $url.'/library/sections/'.$category.'/recentlyAdded?X-Plex-Container-Size=10&X-Plex-Token='.$token;
	$xmlRaw = file_get_contents($xml_url);
	$xmlData = $this->simplexml->xml_parse($xmlRaw);

	$data = array();
	foreach($xmlData['Video'] as $row)
	{
		if(!$limit--) break;
		array_push($data,
			array ( 
				'title' => $row['@attributes']['title'], //영화이름
				'thumb' => $url.$row['@attributes']['thumb'].'?X-Plex-Token='.$token, //썸네일 이미지주소 
			)
		);
	}
}


4. 확인 


'취미생활 > 혼자삽질기' 카테고리의 다른 글

plex movie feed  (0) 2018.12.29
코드이그나이터 RSS파싱 라이브러리  (0) 2018.12.27
반응형 viewport 및 해상도별 css  (0) 2018.12.26
codeigniter index.php 제거하기  (0) 2018.12.24
mysql 사용자에게 테이블 권한주기  (0) 2018.12.24
CSS reset  (0) 2018.12.21

태그 : CI, php, plex, plex xml, XML

댓글(0)

코드이그나이터 RSS파싱 라이브러리

코드이그나이터(CI)에서 RSS 파싱해보기


1. 라이브러리 다운로드 (아래주소)

https://github.com/hasokeric/codeigniter-rssparser



2. 라이브러리 폴더에 Rssparser.php 파일 복사



3. 사용법


$this->load->library('rssparser');							// 라이브러리 로드
$this->rssparser->set_feed_url('http://example.com/feed'); 	// RSS URL설정
$this->rssparser->set_cache_life(30); 						// 캐시수명시간(분)
$rss = $this->rssparser->getFeed(6); // 가져올 피드개수


4. 예제 


$url = 'https://load-map.com/rss';
$data = $this->rssparser->set_feed_url('https://load-map.com/rss')->getFeed(3);
var_dump($data);




위와같이 잘 출력된다. 

'취미생활 > 혼자삽질기' 카테고리의 다른 글

plex movie feed  (0) 2018.12.29
코드이그나이터 RSS파싱 라이브러리  (0) 2018.12.27
반응형 viewport 및 해상도별 css  (0) 2018.12.26
codeigniter index.php 제거하기  (0) 2018.12.24
mysql 사용자에게 테이블 권한주기  (0) 2018.12.24
CSS reset  (0) 2018.12.21

댓글(0)