杉哥的个人博客

SFtp上传下载文件

一个用php写的sftp上传下载文件类

 

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<?php
/**
* SFtp上传下载文件
*
*/
namespace app\utils\sftp;
class Sftp
{
// 初始配置为NULL
private $config = NULL;
// 连接为NULL
private $conn = NULL;
private $ressftp = NULL;
// 初始化
public function __construct($config)
{
$this->config = $config;
$this->connect();
}
public function connect()
{
$this->conn = ssh2_connect($this->config['host'], $this->config['port']);
if( ssh2_auth_password($this->conn, $this->config['username'], $this->config['password']))
{
$this->ressftp = ssh2_sftp($this->conn);
}else{
echo "unconnect";
}
}
// 传输数据 传输层协议,获得数据
public function downftp($remote, $local)
{
return copy("ssh2.sftp://{$this->ressftp}".$remote, $local);
}
// 传输数据 传输层协议,写入ftp服务器数据
public function upftp( $local,$remote, $file_mode = 0777)
{
return copy($local,"ssh2.sftp://{$this->ressftp}".$remote);
}
//创建目录
public function ssh2_sftp_mchkdir($path, $file_mode = 0777) //使用创建目录循环
{
ssh2_sftp_mkdir($this->ressftp, $path, $file_mode);
}
//判段目录是否存在
public function ssh2_dir_exits($dir)
{
return file_exists("ssh2.sftp://{$this->ressftp}" . $dir);
}
}
<?php /** * SFtp上传下载文件 * */ namespace app\utils\sftp; class Sftp { // 初始配置为NULL private $config = NULL; // 连接为NULL private $conn = NULL; private $ressftp = NULL; // 初始化 public function __construct($config) { $this->config = $config; $this->connect(); } public function connect() { $this->conn = ssh2_connect($this->config['host'], $this->config['port']); if( ssh2_auth_password($this->conn, $this->config['username'], $this->config['password'])) { $this->ressftp = ssh2_sftp($this->conn); }else{ echo "unconnect"; } } // 传输数据 传输层协议,获得数据 public function downftp($remote, $local) { return copy("ssh2.sftp://{$this->ressftp}".$remote, $local); } // 传输数据 传输层协议,写入ftp服务器数据 public function upftp( $local,$remote, $file_mode = 0777) { return copy($local,"ssh2.sftp://{$this->ressftp}".$remote); } //创建目录 public function ssh2_sftp_mchkdir($path, $file_mode = 0777) //使用创建目录循环 { ssh2_sftp_mkdir($this->ressftp, $path, $file_mode); } //判段目录是否存在 public function ssh2_dir_exits($dir) { return file_exists("ssh2.sftp://{$this->ressftp}" . $dir); } }
<?php
/**
 * SFtp上传下载文件
 *
 */
namespace app\utils\sftp;
class Sftp
{
    
    // 初始配置为NULL
    private $config = NULL;
    // 连接为NULL
    private $conn = NULL;

    private $ressftp = NULL;
    // 初始化
    public function __construct($config)
    {
        $this->config = $config;
        $this->connect();
    }
    

    public function connect()
    {
        
        $this->conn = ssh2_connect($this->config['host'], $this->config['port']);
        if( ssh2_auth_password($this->conn, $this->config['username'], $this->config['password']))
        {
            $this->ressftp = ssh2_sftp($this->conn);
        }else{ 
            echo "unconnect";
        }
    
    }
    
    // 传输数据 传输层协议,获得数据
    public function downftp($remote, $local)
    {
        return copy("ssh2.sftp://{$this->ressftp}".$remote, $local);
    }
    
    // 传输数据 传输层协议,写入ftp服务器数据
    public function upftp( $local,$remote, $file_mode = 0777)
    {
        return  copy($local,"ssh2.sftp://{$this->ressftp}".$remote);
        
    }

    //创建目录
    public function ssh2_sftp_mchkdir($path, $file_mode = 0777)  //使用创建目录循环
    {
        ssh2_sftp_mkdir($this->ressftp, $path, $file_mode);
    }

    //判段目录是否存在
    public function ssh2_dir_exits($dir)
    {
        return file_exists("ssh2.sftp://{$this->ressftp}" . $dir);
    }
  
}