smartinm/mega-php-client

PHP的MEGA API客户端库。

dev-master 2013-12-29 13:24 UTC

This package is not auto-updated.

Last update: 2024-09-24 02:19:36 UTC


README

PHP客户端库,用于MEGA API

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

要求

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

创建客户端

使用构造函数

$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');
$size = $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($mega);

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

恢复会话

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

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

// ...

状态

不需要用户认证的操作

需要用户认证的操作

致谢

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

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

  • 此项目采用MIT许可协议。

Bitdeli Badge