【问题标题】:automated file transfer using php使用php自动传输文件
【发布时间】:2011-12-09 03:25:34
【问题描述】:

我需要有关以下工作流程以及如何执行它的信息。

我无法详细分享工作是什么,但这里是工作流程。

我将在一台服务器上安装管理面板,在另一台服务器上安装用户界面。日常用户将登录到管理面板并创建将显示在用户界面上的图像。这包括数据库更新和几个图像文件。

工作完成后,我需要将这些文件转移到另一台服务器上。如果可以通过单击按钮完成,那将是最好的。

所有文件都将位于一个文件夹中,并且需要转移该文件夹。

而且创建的文件接近 100MB,如果可能的话,可以使用 SSH 自动传输文件吗?

【问题讨论】:

    标签: php ssh file-transfer


    【解决方案1】:

    如果您使用exec()system(),您可以直接调用shell 以您喜欢的任何方式进行传输。您可以使用 wput、ftp、rsync、scp 等。

    【讨论】:

    • 请注意,由于安全限制,这些功能可能会被禁用。
    【解决方案2】:

    我建议使用phpseclib, a pure PHP SFTP implementation。例如。

    <?php
    include('Net/SFTP.php');
    
    $sftp = new Net_SFTP('www.domain.tld');
    if (!$sftp->login('username', 'password')) {
        exit('Login Failed');
    }
    
    echo $sftp->pwd() . "\r\n";
    $sftp->put('remote.file', 'local.file', NET_SFTP_LOCAL_FILE);
    print_r($sftp->nlist());
    ?>
    

    【讨论】:

      【解决方案3】:

      使用exec()passthru()system() 并调用系统函数来传输文件。 rsync over SSH 可能是一个很好的解决方案。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-11-23
        • 2023-03-31
        • 2010-09-25
        • 1970-01-01
        • 2016-07-28
        • 2011-10-18
        相关资源
        最近更新 更多