dev-master 2014-10-16 00:00 UTC

This package is auto-updated.

Last update: 2024-09-10 14:23:35 UTC


README

透明、协议独立、本地和远程文件系统操作。

在本地文件系统和远程协议上实现类似虚拟文件系统的行为。使用类似FTP客户端(put,get)的语法,depage-fs使得PHP流包装器易于访问,并提供统一的用户界面。

使用遵循本地-远程范式,其中“本地”表示实际的当前工作目录,“远程”可以是另一个本地目录或远程系统上的目录。

depage-fs虚拟跟踪远程工作目录(cd,pwd)。一旦设置远程路径,将阻止对父目录的任何操作。

特性

操作列表

pwd, ls, lsDir, lsFiles, exists, fileInfo, cd, mkdir, rm, mv, get, put, getString, putString

协议

local, ftp(s), ssh(密码或密钥认证)

示例

文件传输,从本地到远程

$fs = Fs::factory('ftp://user:pass@host/');

$fs->mkdir('new/path');
$fs->cd('new/path');
$fs->put('file.zip');

首先,获取SSH指纹...

$fs = Fs::factory('ssh://host');
$print = $fs->getFingerprint();

然后使用SSH密钥连接

$params = array(
    'user'              => 'user',
    'pass'              => 'pass',
    'privateKeyFile'    => '.ssh/id_rsa',
    'fingerprint'       => $print,
    'tmp'               => '.'
);

$fs = Fs::factory('ssh://host', $params);
$fs->get('/home/user/file.zip');

使用说明

  • depage-fs错误处理程序将任何文件系统操作错误/警告转换为异常。导致这些问题的问题可能位于与异常中所述的位置不同的位置。
  • !!! 对于FTPS非常重要!!!如果服务器不支持SSL,则连接将回退到常规未加密的FTP。目前没有办法确保连接是加密的。容易受到中间人攻击!
  • SSH密钥需要是PEM格式(base64)。
  • SSH密钥可以是字符串或文件。然而,内部PHP需要密钥文件(出于某种奇怪的原因,包括公钥和私钥)。这些文件将自动生成(并随后删除)在由'tmp'参数指定的临时目录中。

许可证(双重)