这篇文章主要介绍了php中使用sftp教程,本文讲解了ftp 协议简介、ssh协议、sftp 协议等知识,并给出了FTP和SFTP操作类实现代码,需要的朋友可以参考下
config = $config; } // ftp 连接 public function connect(){ return $this->conn = ftp_connect($this->config['host'],$this->config['port'])); } // 传输数据 传输层协议,获得数据 true or false public function download($remote, $local,$mode = 'auto'){ return $result = @ftp_get($this->conn, $localpath, $remotepath, $mode); } // 传输数据 传输层协议,上传数据 true or false public function upload($remote, $local,$mode = 'auto'){ return $result = @ftp_put($this->conn, $localpath, $remotepath, $mode); } // 删除文件 public function remove($remote){ return $result = @ftp_delete($this->conn_id, $file); } } // 使用 $config = array( 'hostname' => 'localhost', 'username' => 'root', 'password' => 'root', 'port' => 21 ) ; $ftp = new Ftp(); $ftp->connect($config); $ftp->upload('ftp_err.log','ftp_upload.log'); $ftp->download('ftp_upload.log','ftp_download.log'); /*根据上面的三个协议写出基于ssh 的ftp 类 我们知道进行身份认证的方式有两种:公钥;密码 ; (1) 使用密码登陆 (2) 免密码登陆也就是使用公钥登陆 */ class sftp{ // 初始配置为NULL private $config =NULL ; // 连接为NULL private $conn = NULL; // 是否使用秘钥登陆 private $use_pubkey_file= false; // 初始化 public function init($config){ $this->config = $config ; } // 连接ssh ,连接有两种方式(1) 使用密码 // (2) 使用秘钥 public function connect(){ $methods['hostkey'] = $use_pubkey_file ? 'ssh-rsa' : [] ; $con = ssh2_connect($this->config['host'], $this->config['port'], $methods); //(1) 使用秘钥的时候 if($use_pubkey_file){ // 用户认证协议 $rc = ssh2_auth_pubkey_file( $conn, $this->config['user'], $this->config['pubkey_file'], $this->config['privkey_file'], $this->config['passphrase']) ); //(2) 使用登陆用户名字和登陆密码 }else{ $rc = ssh2_auth_password( $conn, $this->conf_['user'],$this->conf_['passwd']); } return $rc ; } // 传输数据 传输层协议,获得数据 public function download($remote, $local){ return ssh2_scp_recv($this->conn_, $remote, $local); } //传输数据 传输层协议,写入ftp服务器数据 public function upload($remote, $local,$file_mode=0664){ return ssh2_scp_send($this->conn_, $local, $remote, $file_mode); } // 删除文件 public function remove($remote){ $sftp = ssh2_sftp($this->conn_); $rc = false; if (is_dir("ssh2.sftp://{$sftp}/{$remote}")) { $rc = false ; // ssh 删除文件夹 $rc = ssh2_sftp_rmdir($sftp, $remote); } else { // 删除文件 $rc = ssh2_sftp_unlink($sftp, $remote); } return $rc; } } $config = [ "host" => "192.168.1.1 ", // ftp地址 "user" => "***", "port" => "22", "pubkey_path" => "/root/.ssh/id_rsa.pub", // 公钥的存储地址 "privkey_path" => "/root/.ssh/id_rsa", // 私钥的存储地址 ]; $handle = new SftpAccess(); $handle->init($config); $rc = $handle->connect(); $handle->getData(remote, $local);

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

드림위버 CS6
시각적 웹 개발 도구

Dreamweaver Mac版
시각적 웹 개발 도구
