joserick / phplex
此包已被弃用,不再维护。未建议替代包。
一个用于与Plex(https://www.plex.tv)HTTP控制API交互的PHP库。(从https://github.com/joserick/phplex fork而来)
0.0.3.2
2019-05-01 21:57 UTC
Requires
- php: >=5.6
This package is auto-updated.
Last update: 2023-07-09 23:37:50 UTC
README
警告:此项目不再处于积极开发中,被视为已弃用。不会提供更新或额外支持。
弃用原因
由于时间和资源限制,此项目已被弃用。不幸的是,我再也没有时间维护它,并给予它应有的积极开发。
此外,自该项目创建以来,已经出现了新的替代方案和更先进的解决方案,更有效地满足了当前需求。我建议探索以下替代方案,它们提供了更多功能和改进
替代方案
- Plex API:此替代方案拥有活跃的社区和持续的开发。它提供了更高级的功能和更直观的命令。
我们感谢至今为止对这个项目表现出的兴趣和支持。如果您有任何疑问或担忧,请随时联系我们,但请注意,您可能不会收到答案或解决方案。
PHPlex
PHPlex 是一个用于通过 Plex 管理服务器 的 API-HTTP 进行交互的库。
要求
- PHP >= 5.6
- Curl PHP 扩展
- XML PHP 扩展
- JSON PHP 扩展
功能
允许访问您的Plex媒体库,以便您可以通过多种便捷的方式检索您的节目、季、剧集、电影、艺术家、专辑和曲目。
具有简单的播放和导航命令,还有一个播放剧集、电影和曲目的界面。
不提供的功能
尚未实现照片功能。
播放仅实现于剧集、电影和曲目级别。计划是实现将季或专辑传递给应用程序控制器,并播放整个内容。
尚未为项目列表实现分页。
安装
使用包管理器 Composer 安装 PHPlex。
composer require joserick/phplex
文档
您可以在 Github Wiki 中查看更多PHPlex功能。
您还可以在 文档 中查看所有类、方法和属性。
获取PlexServer实例
// include composer autoload require 'vendor/autoload.php'; // import the Joserick Plex use Joserick\PHPlex\Plex; // build plex object with you account data. $plex = new Plex('username', 'password', 'address'); // to finally create server instances $server = $plex->getServer();
如果您想添加多个服务器,并且需要更具体的数据。
$servers = array( 'my_server' => array( // Name with which you want to identify the configuration of the server. 'username' => 'username|email', // Username or email of the plex.tv account. 'password' => 'password' // Password of the plex.tv account. 'address' => '192.168.11.9', // Ip of the server, default localhost. 'port' => '32401' // Ip port, default 32400. 'token' => '********' // Connexion token, default phplex generate one. ), // ... ); $plex = new Plex(); $plex->registerServers($servers); $server = $plex->getServer('my_server');
示例
示例 1:列出所有未观看的电影。
// First get a section of type movie. $section = $server->getLibrary()->getSection('Movies'); $movies = $section->getUnwatched(); foreach ($movies as $movie){ echo $movie->getTitle(); }
示例 2:列出连接到服务器的所有客户端。
$clients = $plex->getAllClients(); foreach ($clients as $client){ echo $client->getName(); } // Get a client specific. $client_version = $plex->getClient('Chrome')->version;
示例 3:列出电影类型分区中的所有流派。
$section = $server->getLibrary()->getSection('TV Shows') foreach ($section->getGenres() as $genre){ echo $genre->getName(); }
示例 4:列出标题中包含单词'Terminator'的分区中的所有电影。
$section = $server->getLibrary()->getSection('Movies'); foreach ($section->search('terminator') as $movie){ echo $movie->getTitle(); }
示例 5:列出《老友记》最新一集的所有文件。
$last_episode = $server->getLibrary()->getSection('TV Shows')->get('Friends')->getEpisodes()[-1]; foreach ($last_episode->getMedia()->getFiles() as $file){ echo $file->getPath(); }
示例 6:列出分区中每个项目的首字母列表
$alphabet = $server->getLibrary()->getSection('TV Shows')->getAlphabet(); foreach ($alphabet as $letter){ echo $letter; }
更新日志
请参阅更新日志获取最近更改的更多信息。
致谢
许可证
GNU公共许可证(GPLv3)。请参阅许可证文件获取更多信息。