php-extended/php-mega-nz-api

此包已被放弃,不再维护。作者建议使用php-extended/php-api-nz-mega-object包。

连接到mega.nz API的php API包装器

3.1.7 2021-01-31 23:05 UTC

This package is auto-updated.

Last update: 2021-02-21 21:00:05 UTC


README

一个完全面向对象的模式连接到mega.nz API的php API包装器。

此库在调用mega服务器时,会注意不关闭https证书检查。

此API正在建设中,只有其中的一些方法可用,但欢迎贡献!

此库受到smartinm/mega-php-client库和Julien Marchand的教程的启发。

coverage build status

安装

此库的安装通过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(见许可证文件)。