Naja, die PHP-Lösung lädt ja immer nur *eine* Datei hoch...
Das *herunterladen* mit dem Perl-Skript sollte ungefähr so gehen:
Das *herunterladen* mit dem Perl-Skript sollte ungefähr so gehen:
Code:
#!/usr/bin/perl
use strict;
use warnings;
use Net::FTP;
use File::Listing; # importiert parse_dir()
my $host = 'gameserver';
my $user = 'username';
my $password = 'password';
my $ftp = Net::FTP->new(
$host,
Timeout => 360,
Debug => 1,
Passive => 1,
) or die "Can't create Net::FTP-Object\n";
$ftp->login($user,$password) || die "Can't login $!";
# Skalarer Kontext für $ftp->dir()
my $entry_ref = parse_dir($ftp->dir("80109/*/*/*.*"));
foreach my $entry (@$entry_ref) {
my ($name, $type, $size, $mtime, $mode) = @$entry;
# keine PunktDateien
next if ($name =~ /^\./);
if ($type eq 'f') {
$ftp->get($name);
}
} ## foreach
$ftp->quit();