gsu / ftp-sftp-transfer
A PHP class to transfer data using sftp and ftp protocols.
This package is not auto-updated.
Last update: 2025-05-15 00:46:38 UTC
README
Helper PHP objects to handle rsync, scp, and ssh-based file transfers.
rsync
The available switches for rsync currently mirror those available in rsync on CentOS 6.x.
The following switches are not yet implemented:
- turning off options with the
no-
prefix - sending remote-only options with the
remote-
prefix
Full documentation can be found in the RsyncTransfer class.
<?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
The available switches for ssh currently mirror those available in rsync on CentOS 6.x.
Full documentation can be found in the ScpTransfer class.
<?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
The SSH implementation is very primitive. It will most likely be transferred to a different package in the future as it doesn't completely align with the goals of this package.
It currently implements the following switches:
-
Enable quiet mode
$ssh->quietMode($enabled = true)
-
Add a SSH configuration option
$ssh->configOptions($value, $remove = false, $enabled = true)
-
The host to connect to. This should include
username@
if it differs from the user executing the PHP script.$ssh->host($host)
-
The command to execute over SSH
$ssh->remoteCommand($command)
The command has quiet mode enabled by default along with the following SSH options:
BatchMode yes
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
<?php use Trafficgate\Transferer\Ssh\SshCommand; $ssh = new SshCommand(); $ssh ->host($host) ->remoteCommand($command);