在linux下利用scp进行文件传输,
从服务器下载文件
scp username@servername:/path/filename /path/filename
上传本地文件到服务器
scp /path/filename username@servername:/path/filename
从服务器下载整个目录
scp -r username@servername:remote_dir/ /path/
上传目录到服务器
scp -r /dir username@servername:remote_dir
以上操作在执行时都会提示你输入密码,输入密码后就会成功执行。
但是这些只适合在操作linux服务器时使用,如何在程序中执行呢?
在PHP就用到了php_scp_send和php_scp_revc函数
php_scp_send是向另一个服务器传输文件,php_scp_revc则是下载文件。
这两个函数要结合php_ssh2组件使用。
$ssh2 = ssh2_connect($ssh_host, $ssh_port); //先登陆SSH并连接,具体参照php_ssh2连接 //$local_file为本地文件, $remote_file为远程文件
//本地传输文件到远程服务器
$stream=ssh2_scp_send($ssh2, $local_file, $remote_file, 0644);
默认权限为0644,返回值为bool值,true或false. //从远程服务器下载文件
$stream=ssh2_scp_revc($ssh2, $remote_file, $local_file);
//返回值为返回值为bool值,true或false.