php 通过ssh传输文件的ssh api类用法示例

内容摘要
这篇文章主要为大家详细介绍了php 通过ssh传输文件的ssh api类用法示例,具有一定的参考价值,可以用来参考一下。

对php实现的ssh api类,主要用来通过ssh传输文件对此感兴趣的
文章正文

这篇文章主要为大家详细介绍了php 通过ssh传输文件的ssh api类用法示例,具有一定的参考价值,可以用来参考一下。

对php实现的ssh api类,主要用来通过ssh传输文件对此感兴趣的朋友,看看idc笔记做的技术笔记!

/**
 * php实现的ssh api类,主要用来通过ssh传输文件
 *
 * @param 
 * @author 五一二笔记网: 512pic.com
 **/
class SshApi extends BaseObject{
   public $session = null;
   public $authenticated = false;
   public function __construct(){
   }
   public function connect($host){
	  $this->session = ssh2_connect($host);
	  return $this->session;
   }
   public function pubkeyFile($sshUser, $sshPub, $sshPriv, $sshPass){
	  if ( ! $this->session ) return false;
	  if ( empty($sshPass) ){
		 $b = ssh2_auth_pubkey_file( $this->session, $sshUser, $sshPub, $sshPriv);
	  }
	  else
		 $b = ssh2_auth_pubkey_file( $this->session, $sshUser, $sshPub, $sshPriv, $sshPass);
	  if ( $b ) $this->authenticated = true;
	  return $b;
   }
   public function send($localfile, $remotefile, $perms=0660){
	  $this->debug(__METHOD__);
	  if ( ! $this->session ) return false;
	  $this->debug('Sending '. $localfile . ' to ' . $remotefile);
	  $b = ssh2_scp_send($this->session, $localfile, $remotefile, $perms);      
	  return $b;
   }
   public function recv($remotefile , $localfile){
	  if ( ! $this->session ) return false;
	  $b = ssh2_scp_recv($this->session , $remotefile , $localfile );
	  return $b;
   }
   public function exec($command){
	  if ( ! $this->session ) return false;   
	  $stream = ssh2_exec($this->session, $command);
	  return $stream;
   }
}
/***   来自php教程(www.idcnote.com)   ***/

注:关于php 通过ssh传输文件的ssh api类用法示例的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!