【问题标题】:FTP upload directory and subdirectories in PerlPerl中的FTP上传目录和子目录
【发布时间】:2023-03-12 19:15:01
【问题描述】:

我正在尝试 FTP 一个目录,该目录具有使用 Perl 的文件和图像的子目录。

我尝试在Net::FTP::Recursive 下使用$ftp->rput()。但这会上传本地当前工作目录下的所有文件。

有没有办法给出本地目录的路径以及上传所有文件夹和文件。请指导。

【问题讨论】:

    标签: perl ftp


    【解决方案1】:

    您需要临时更改自己的工作目录。

    rput ( [FlattenTree => 1] [,RemoveLocalFiles => 1] )
    

    递归放置 方法调用。这将递归地发送本地当前工作 目录及其内容到 ftp 对象的当前工作 目录。

    Perl 的builtin chdir 可用于更改目录。如果您需要返回,请使用Cwd module 获取当前的。

    use strict; 
    use warnings;
    use Cwd;
    use Net::FTP::Recursive;
    
    # ...
    
    # get the current directory
    my $old_current_dir = getcwd();
    
    # change directory to the one you want to upload
    chdir('path/to/updloaddir');
    
    # upload
    $ftp->rput();
    
    # change back
    chdir($old_current_dir);
    

    【讨论】:

    • 需要其他建议。可能不是在这里做的正确方法。我有使用 Perl 创建的 zip 文件。我再次通过 FTP 上传,效果很好。但是我下载了 zip 并尝试打开或解压缩它说“无效”。有什么想法吗?
    • @Virus 请为此提出一个新问题。
    • 当然。会问一个新的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-21
    • 2017-05-22
    • 2015-04-30
    • 1970-01-01
    • 2013-04-30
    • 2019-07-16
    • 1970-01-01
    相关资源
    最近更新 更多