Misafir adlı üyeden alıntı: mesajı görüntüle
<?php
use phpseclib3\Net\SSH2;
use phpseclib3\Net\SFTP;

require 'vendor/autoload.php';

class ogcp_ssh2 {
    private $ssh;
    private $sftp;
    private $error;

    public function __construct() {
        $this->ssh = null;
        $this->sftp = null;
        $this->error = "";
    }

    public function Connect($host, $port = 22) {
        if ($host == "") return false;
        $host = gethostbyname($host);
        
        $this->ssh = new SSH2($host, $port);
        if ($this->ssh) {
            return true;
        } else {
            $this->error = 'Error #01: Server not found!';
            return false;
        }
    }

    public function ConnectwAuth($host, $port = 22, $user, $pass) {
        if ($host == "" || $user == "" || $pass == "") return false;

        if ($this->Connect($host, $port)) {
            if ($this->ssh->login($user, $pass)) {
                return true;
            } else {
                $this->error = 'Error #02: Authentication rejected by server!';
                return false;
            }
        }
        $this->error = 'Error #01: Server not found!';
        return false;
    }

    public function SFTP_DownloadFile($remote, $local) {
        if (!$this->sftp) {
            $this->sftp = new SFTP($this->ssh->getServerHost(), $this->ssh->getPort());
            $this->sftp->login($this->ssh->getUsername(), $this->ssh->getPassword());
        }
        return $this->sftp->get($remote, $local);
    }

    public function SFTP_UploadFile($local, $remote) {
        if (!$this->sftp) {
            $this->sftp = new SFTP($this->ssh->getServerHost(), $this->ssh->getPort());
            $this->sftp->login($this->ssh->getUsername(), $this->ssh->getPassword());
        }
        return $this->sftp->put($remote, $local, SFTP::SOURCE_LOCAL_FILE);
    }

    public function OpenSFTP() {
        $this->sftp = new SFTP($this->ssh->getServerHost(), $this->ssh->getPort());
        if ($this->sftp->login($this->ssh->getUsername(), $this->ssh->getPassword())) {
            return true;
        } else {
            $this->error = 'Error #03: SFTP Connection rejected!';
            return false;
        }
    }

    public function SFTP_ReadFile($filepath) {
        if ($filepath == "") return false;
        if (!$this->sftp) {
            $this->OpenSFTP();
        }
        return $this->sftp->get($filepath);
    }

    public function SFTP_FileLink($filepath) {
        return $filepath;
    }

    public function Disconnect() {
        $this->ssh->disconnect();
        $this->sftp = null;
        $this->ssh = null;
        return null;
    }

    public function Exec($cmd) {
        return $this->ssh->exec($cmd);
    }
}
?>
<?php
require 'vendor/autoload.php';

use phpseclib3\Net\SSH2;
use phpseclib3\Net\SFTP;

class ogcp_ssh2 {
    private $ssh;
    private $sftp;
    private $error;
     
    public function __construct() {
        $this->ssh = null;
        $this->sftp = null;
        $this->error = "";
    }

    public function Connect($host, $port = 22) {
        if ($host == "") return false;
        $this->ssh = new SSH2($host, $port);
        return true;
    }

    public function ConnectwAuth($host, $port = 22, $user, $pass) {
        if ($host == "" || $user == "" || $pass == "") return false;
        if ($this->Connect($host, $port)) {
            if ($this->ssh->login($user, $pass)) {
                return true;
            } else {
                $this->error = 'Error #02: Authentication rejected by server!';
                return false;
            }
        }
        $this->error = 'Error #01: Server not found!';
        return false;
    }

    public function OpenSFTP() {
        if (!$this->ssh) return false;
        $this->sftp = new SFTP($this->ssh->getHost());
        return $this->sftp->login($this->ssh->getUsername(), $this->ssh->getPassword());
    }

    public function SFTP_DownloadFile($remote, $local) {
        if (!$this->sftp) return false;
        return file_put_contents($local, $this->sftp->get($remote));
    }

    public function SFTP_UploadFile($local, $remote) {
        if (!$this->sftp) return false;
        return $this->sftp->put($remote, file_get_contents($local));
    }

    public function SFTP_ReadFile($filepath) {
        if (!$this->sftp) return false;
        return $this->sftp->get($filepath);
    }

    public function Exec($cmd) {
        if (!$this->ssh) return false;
        return $this->ssh->exec($cmd);
    }

    public function Disconnect() {
        $this->ssh = null;
        $this->sftp = null;
    }
}
?>
Birde bunu deneyin