php实现sftp上传

2013.06.18 No Comments

测试通过

1.开启ssh2服务

在php/ext 里面找到php_ssh2.dll复制到系统的System32里(如果没有下载对应版本的pecl)

2.开启php.ini的extension=php_ssh2.dll

<?php
$strServer = "192.168.0.*";

$strServerPort = "22";

$strServerUsername = "root";

$strServerPassword = "111111";
define('REMOTE_DIR','/var/www/idc_home');  //要操作的远程根目录

$resConnection = ssh2_connect($strServer, $strServerPort);

if(ssh2_auth_password($resConnection, $strServerUsername, $strServerPassword))
{
//初始化SFTP子系统
//请求从一个已经连接子系统SFTP服务器SSH2安全性会更高。
$resSFTP = ssh2_sftp($resConnection);

}else{ echo "无法在服务器进行身份验证";}

$path         =    REMOTE_DIR;//远程路径
$date    =date('Y-m-d_H.i.s');
$path    .= '/'.$date;

$filename="myzipfile.zip"; //文件名
ssh2_sftp_mchkdir($resSFTP,$path);
$path.='/new'.$filename;
$sendbol = ssh2_scp_send($resConnection, $filename, $path, 0777);  //上传文件

if($sendbol ){
ECHO  '上传成功';
}

function ssh2_sftp_mchkdir($sftp,$path)  //使用创建目录循环
{
ssh2_sftp_mkdir($sftp, $path);
}
?>

Related Posts:

评论已关闭。