1下载ssh2文件
下载地址http://windows.php.net/downloads/pecl/releases/ssh2/0.12/
根据自己PHP的版本去下载,其中ts表示线程安全,nts表示不安全。
(可以使用phpinfo()查看需要哪一个,Thread Safety项是enabled表示线程安全)
2安装ssh2
解压php_ssh2.zip
1.将php_ssh.dll、php_ssh2.pdb放到你的php扩展目录下php/ext/下。
2.将libssh2.dll复制到c:/windows/system32和c:/windows/syswow64各一份
3.php.ini中加入extension=php_ssh2.dllphp.ini中加入extension=php_ssh2.dll
4.重启PHP
3 sftp的连接上传下载
```
/**
*Sftp上传下载文件
*
*/
namespace Common\ORG\Util;
class Sftp
{
//初始配置为NULL
private $config = NULL;
//连接为NULL
private $conn = 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']))
{
}else{
echo "无法在服务器进行身份验证";
}
}
//传输数据传输层协议,获得数据
public function downftp($remote, $local)
{
$ressftp = ssh2_sftp($this->conn);
return copy("ssh2.sftp://{$ressftp}".$remote, $local);
}
//传输数据传输层协议,写入ftp服务器数据
public function upftp( $local,$remote, $file_mode = 0777)
{
$ressftp = ssh2_sftp($this->conn);
return copy($local,"ssh2.sftp://{$ressftp}".$remote);
}
}
```
4实例
```
$config = array(
'host' =>'', //服务器
'port' => '22', //端口
'username' =>'', //用户名
'password' =>'', //密码
);
$ftp = new Sftp($config);
$localpath="D:/234.txt"; //源文件地址
$serverpath='/234.txt'; //上传sftp地址
$st =$ftp->upftp($localpath,$serverpath); //上传指定文件
if($st == true){
echo "success";
}else{
echo "fail";
}
```
地址路径区分大小写,sftp地址要写完整!!!!!!
谢谢观看~
领取专属 10元无门槛券
私享最新 技术干货