前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >同步文件到远程服务器

同步文件到远程服务器

原创
作者头像
用户1424121
修改2023-04-08 15:53:20
2.1K0
修改2023-04-08 15:53:20
举报
文章被收录于专栏:Fang
代码语言:php
复制
/**
 * @param string $source 当前文件路径 如:/admin/images/2023/03/06/admin.png
 * @param string $target 远程文件夹路径 如:/home/web/public
 * @param string $host 远程服务器主机
 * @param string $port 远程服务器端口号
 * @param string $username 远程服务器用户名
 * @param string $password 远程服务器密码
 * @return bool|string
 */
protected function ssh2ScpSend($source, $target, $host = '127.0.0.1', $port = '22', $username = 'username', $password = 'password')
{
    try {
        $source = ltrim($source, DIRECTORY_SEPARATOR);

        $target = rtrim($target, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;

        //建立ssh2连接
        $connection = ssh2_connect($host, $port);

        //验证ssh2密码
        ssh2_auth_password($connection, $username, $password);

        $sftp = ssh2_sftp($connection);

        ssh2_sftp_mkdir($sftp, $target . dirname($source), 0777);

        $result = ssh2_scp_send($connection, realpath($source), $target . $source, 0777);
    } catch (\Exception $e) {
        $result = $e->getMessage();
    }

    return $result;
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档