class SCP (View source)

Pure-PHP implementations of SCP.

Constants

SOURCE_LOCAL_FILE

Reads data from a local file.

SOURCE_STRING

Reads data from a string.

MODE_SSH1

SSH1 is being used.

MODE_SSH2

SSH2 is being used.

Properties

object $ssh SSH Object
int $packet_size Packet Size
int $mode Mode

Methods

SCP
__construct(SSH1|SSH2 $ssh)

Default Constructor.

bool
put(string $remote_file, string $data, int $mode = self::SOURCE_STRING, callable $callback = null)

Uploads a file to the SCP server.

mixed
get(string $remote_file, string $local_file = false)

Downloads a file from the SCP server.

_send(string $data)

Sends a packet to an SSH server

string
_receive()

Receives a packet from an SSH server

_close()

Closes the connection to an SSH server

Details

SCP __construct(SSH1|SSH2 $ssh)

Default Constructor.

Connects to an SSH server

Parameters

SSH1|SSH2 $ssh

Return Value

SCP

bool put(string $remote_file, string $data, int $mode = self::SOURCE_STRING, callable $callback = null)

Uploads a file to the SCP server.

By default, \phpseclib\Net\SCP::put() does not read from the local filesystem. $data is dumped directly into $remote_file. So, for example, if you set $data to 'filename.ext' and then do \phpseclib\Net\SCP::get(), you will get a file, twelve bytes long, containing 'filename.ext' as its contents.

Setting $mode to self::SOURCE_LOCAL_FILE will change the above behavior. With self::SOURCE_LOCAL_FILE, $remote_file will contain as many bytes as filename.ext does on your local filesystem. If your filename.ext is 1MB then that is how large $remote_file will be, as well.

Currently, only binary mode is supported. As such, if the line endings need to be adjusted, you will need to take care of that, yourself.

Parameters

string $remote_file
string $data
int $mode
callable $callback

Return Value

bool

mixed get(string $remote_file, string $local_file = false)

Downloads a file from the SCP server.

Returns a string containing the contents of $remote_file if $local_file is left undefined or a boolean false if the operation was unsuccessful. If $local_file is defined, returns true or false depending on the success of the operation

Parameters

string $remote_file
string $local_file

Return Value

mixed

_send(string $data)

Sends a packet to an SSH server

Parameters

string $data

string _receive()

Receives a packet from an SSH server

Return Value

string

_close()

Closes the connection to an SSH server