linux下用scp命令在两个服务器之间传输文件,利用php_scp函数进行文件传输
Posted 岁月无心
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下用scp命令在两个服务器之间传输文件,利用php_scp函数进行文件传输相关的知识,希望对你有一定的参考价值。
在linux下利用scp进行文件传输,
从服务器下载文件
scp [email protected]:/path/filename /path/filename
上传本地文件到服务器
scp /path/filename [email protected]:/path/filename
从服务器下载整个目录
scp -r [email protected]:remote_dir/ /path/
上传目录到服务器
scp -r /dir [email protected]: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.
以上是关于linux下用scp命令在两个服务器之间传输文件,利用php_scp函数进行文件传输的主要内容,如果未能解决你的问题,请参考以下文章