Mega.co.nz 库

dev-master 2013-10-17 22:18 UTC

This package is not auto-updated.

Last update: 2024-09-23 16:31:04 UTC


README

PHP 客户端库,用于MEGA API

此版本来自https://github.com/smartinm/mega-php-client。感谢贡献者!

由于分支,我添加了一些功能以使用最大带宽

require_once 'vendor/autoload.php';

use Glutamatt\Mega\MEGA;

$mega = new MEGA() ;
$link = 'https://mega.co.nz/#!IdOfThEFilE!ThELonG_KeyOfDaFiLE' ;
$mega->public_file_save_from_link($link, 'where_file_will_be_saved/' );

功能

2013/10/17:处理来自http://megacrypter.com/的链接

注意:此库仍在开发中且不完整,因此API可能会更改。

要求

  • PHP 5.x
  • PHP Mcrypt 扩展
  • PHP OpenSSL 扩展
  • PHP cURL 扩展
  • PHP pcntl 扩展

使用 composer 安装

{
    "require": {
        "glutamatt/mega": "dev-master"
    },
    "minimum-stability": "dev"
}

创建客户端

使用构造函数

$mega = new MEGA();

使用静态工厂方法

$mega = MEGA::create_from_login($email, $password);

这等价于

$mega = new MEGA();
$mega->user_login_session($email, $password);

更改默认的 MEGA API 服务器

MEGA::set_default_server(MEGA::SERVER_EUROPE);

处理公共文件

下载公共文件不需要身份验证。

获取文件信息

$mega = new MEGA();

$file_info = $mega->public_file_info($ph, $key);
var_dump($file_info);

// Print filename and size
echo 'Filename: ' . $file_info['at']['n'];
echo 'Size: ' . $file_info['s'];

使用链接

$file_info = $mega->public_file_info_from_link($link);

这等价于

$info = MEGA::parse_link($link);
$file_info = $mega->public_file_info($info['ph'], $info['key']);

下载公共文件

// Save file to current directory.
$filepath = $mega->public_file_save($ph, $key);
echo 'File saved in ' . $filepath;

// Equivalent using exported link
$filepath = $mega->public_file_save_from_link($link);
echo 'File saved in ' . $filepath;

下面有更多示例。

下载文件

使用流

// Write to file
$fp = fopen($file, 'wb');
$content = $mega->public_file_download($ph, $key, $fp);
fclose($fp);

返回内容

// Get content using temporary stream
$content = $mega->public_file_download($ph, $key);

保存到磁盘

// Save file to temporary directory.
$tmp = sys_get_temp_dir();
$file = $mega->public_file_save($ph, $key, $tmp);
echo 'File saved in ' . $file;

私有文件

列出

$mega = MEGA::create_from_user($email, $password);

$files = $mega->node_list();
print_r($files);

// Get file info
$file_info = $mega->node_file_info($files['f'][5]);
print_r($file_info);

下载

  • 函数 node_file_save() 等价于 public_file_save()
  • 函数 node_file_download() 等价于 public_file_download()

用户会话

存储会话

$mega = MEGA::create_from_user($email, $password);

// ...

// Get current session (as a base64 string)
$session = $mega->session_save();

// Store in a safe place!
store_session($session);

恢复会话

// Retrive saved session
$session = get_session();

// Create client from previous session
$mega = MEGA::create_from_session($session);

// ...

致谢

  • 此库由 Sergio Martín (@smartinm) 编写,作为官方 MEGA JavaScript 代码的移植。

  • 部分代码基于 Julien Marchand 的工作。