【问题标题】:FTP get all filesFTP获取所有文件
【发布时间】:2011-03-16 16:20:29
【问题描述】:

我已使用 PHP 成功连接到我的 FTP,我可以使用以下命令查看所有文件:ftp_nlist

但是,有没有一种简单的方法可以将所有这些文件下载到当前目录中?

我找不到任何关于如何做到这一点的示例。

谢谢

【问题讨论】:

    标签: php ftp


    【解决方案1】:

    另一个简单的解决方案是......

    以数组的形式列出文件并单独下载每个文件。

    类似:

    $contents = ftp_nlist($conn_id, ".");

    foreach ($contents as &$value) { $result = ftp_fget($conn_id, $local,&$value, FTP_BINARY); }

    您可能需要稍微调整一下代码...

    【讨论】:

    • 只是想知道您为什么引用$value? IE。 &$value?
    • @w3d 是正确的。事实上,包括它会导致Call-time pass-by-reference has been removed
    【解决方案2】:

    是的,有。 NanoFTPD 是 2003 年左右的一个老项目。它使用 PHP 监听 FTP 端口并处理来自客户端的所有请求。它能够执行所有功能,包括将(所有)文件下载到您想要的任何目录。看看here

    【讨论】:

      【解决方案3】:

      尝试使用ftp_get()

      $local_file = 'filename.txt';
      $server_file = 'filename.txt';
      
      $conn_id = ftp_connect($ftp_server);
      
      $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
      
      if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) {
          echo "Successfully written to $local_file\n";
      } else {
          echo "There was a problem\n";
      }
      
      ftp_close($conn_id);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-25
        相关资源
        最近更新 更多