gsu / ftp-sftp-transfer

一个用于通过sftp和ftp协议传输数据的PHP类。

0.1 2018-05-21 09:34 UTC

This package is not auto-updated.

Last update: 2024-09-18 21:25:20 UTC


README

Latest Version on Packagist Software License

用于处理rsync、scp和基于SSH的文件传输的PHP辅助对象。

rsync

目前可用的rsync选项与CentOS 6.x中可用的rsync选项相同。

以下选项尚未实现

  • 使用no-前缀关闭选项
  • 使用remote-前缀发送仅远程选项

完整文档可以在RsyncTransfer类中找到。

<?php

use Trafficgate\Transferer\Transfer\RsyncTransfer;

$rsync = new RsyncTransfer();
$rsync
    ->source($source, $host = null, $user = null)
    ->destination($destination, $host = null, $user = null)
    ->transfer($idleTimeout = null);

scp

目前可用的ssh选项与CentOS 6.x中可用的rsync选项相同。

完整文档可以在ScpTransfer类中找到。

<?php

use Trafficgate\Transferer\Transfer\ScpTransfer;

$scp = new ScpTransfer();
$scp
    ->source($source, $host = null, $user = null)
    ->destination($destination, $host = null, $user = null)
    ->transfer($idleTimeout = null);

ssh

SSH实现非常原始。它很可能将来会被转移到不同的包中,因为它与这个包的目标不完全一致。

它目前实现了以下选项

  • 启用静默模式

    $ssh->quietMode($enabled = true)
  • 添加SSH配置选项

    $ssh->configOptions($value, $remove = false, $enabled = true)
  • 要连接的主机。如果与执行PHP脚本的用户不同,则应包括username@

    $ssh->host($host)
  • 通过SSH执行的命令

    $ssh->remoteCommand($command)

默认情况下,命令具有静默模式,并包含以下SSH选项

  • BatchMode yes
  • StrictHostKeyChecking no
  • UserKnownHostsFile /dev/null
<?php

use Trafficgate\Transferer\Ssh\SshCommand;

$ssh = new SshCommand();
$ssh
    ->host($host)
    ->remoteCommand($command);