php-extended / php-mega-nz-api
Requires
Requires (Dev)
README
一个完全面向对象的模式连接到mega.nz API的php API包装器。
此库在调用mega服务器时,会注意不关闭https证书检查。
此API正在建设中,只有其中的一些方法可用,但欢迎贡献!
此库受到smartinm/mega-php-client库和Julien Marchand的教程的启发。
安装
此库的安装通过composer完成。从其网站下载composer.phar
。然后将它添加到你的composer.json文件中
"require": {
...
"php-extended/php-mega-nz-api": "^3",
...
}
然后运行php composer.phar update
来安装此库。此库所有类的自动加载都通过composer的自动加载器完成。
基本用法
要下载mega上文件夹的文件并将它们放入你的文件系统中的文件夹,请查看示例脚本。
此库提供了一个API来查看文件并下载它们,如下所示
构造函数需要访问mega的完整URL。这意味着URL片段应该包含节点ID和解码节点密钥。 Mega::__construct(string $full_url):Mega
一旦创建了一个新的Mega
对象,你可以使用以下方法来查找其根节点:Mega::getRootNodeInfo():MegaNode;
一旦你有了MegaNode
对象,你可以使用以下方法来查找其子节点:Mega::getChildren(MegaNodeId $node_id):MegaNode[];
可以通过以下方法获得MegaNodeId
对象:MegaNode::getNodeId():MegaNodeId
。节点ID是引用层次结构中特定节点的常见对象,而Mega
类可以通过以下方法检索MegaNode
对象:Mega::getNodeInfo(MegaNodeId $node_id):MegaNode
。
要区分表示文件夹的节点和表示文件的节点,请使用以下方法:MegaNode::getNodeType():integer
。如果值为MegaNode::TYPE_FOLDER
,则表示文件夹,如果值为MegaNode::TYPE_FILE
,则表示可下载文件。
然后,要下载文件(由于显而易见的原因,文件夹不可下载),请使用以下方法:Mega::downloadFile(MegaNode $node):string
,该方法返回下载文件的原始字符串数据,未加密。
请注意,此方法不直接使用流到你的文件系统,如果文件非常大,可能会使用很多内存。
要检查文件的大小(由于Mega的API不提供文件夹的大小),请使用以下方法:MegaNode::getNodeSize():integer
。请注意,32位系统(或32位PHP,如Windows)可能无法很好地处理大文件的大小。
最后,由于各种因素,几乎此库的每个方法都会抛出PhpExtended\Mega\MegaException
,主要是由于可能在任何地方发生的加密错误。请记住,使用以下代码块将对此库的调用封装起来:try { ... } catch(MegaException $e) { ... }
。
许可证
MIT(见许可证文件)。