O phpseclib não carrega o conteúdo correto do arquivo
Então, o que ele faz é conectar com sucesso e depois enviar o arquivologo.png
mas o conteúdo do arquivo não é o que estava no host da web ou o upload com html se eu usar um código de upload em html. O que ele coloca no arquivo é o texto REAL entre os segundos. Assim, nesse mesmo exemplo, o conteúdo de logo.png é literalmentelogo.png
e não a imagem.
require_once("ftp/vendor/autoload.php");
use phpseclib\Net\SFTP;
$sftp = new SFTP('SERVER');
if (!$sftp->login('USER', 'PW')) {
throw new Exception('Login failed');
}
$sftp->put("/some/path/logo.png", "logo.png", NET_SFTP_LOCAL_FILE);