Moduł Net::FTP
Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowaSpis treści
O czym to jest
Moduł Net::FTP to moduł dostarczający metod umożliwiających zaimplementowanie prostego klienta FTP w Perlu.
Konstruktor
new ([ HOST ] [, OPTIONS ])
HOST może zostać pominięty i podany jako jedna z opcji OPTIONS. Możliwe są następujące opcje:
- Host
- może to być pojedyńczy scalar t.j. zdefinowany dla opcji PeerAddr w IO::Socket::INET albo referencja do tablicy.
- Firewall
- może zostać przesłonięte przez zmienną środowiskową FTP_FIREWALL. jeżeli nie można ustanowić połączenia z hostem, to wtedy polączenie jest ustanawiane z zaporą oraz string @hostname dołączany jest do identyfikatora użytkownika.
- FirewallType
- może być przesłonięte przez zmienną środowiskową FTP_FIREWALL_TYPE. listę dopuszczalnych typów można znależc w opisie ftp_firewall_type dla Net::Config.
- BlockSize
- wielkość przesyłanego pakietu
- Port
- numer portu
- Timeout
- limit czasu odpowiedzi
- Debug
- żądany poziom debuggowania (zobacz metodę debug dla Net::Cmd)
- Passive
- wartość niezerowa oznacza tryb pasywny, zerowa tryb aktywny. jeżeli nie zdefiniowana, wartość zostanie ustawiona przez zmienną środowiskową FTP_PASSIVE. domyślnym trybem jest tryb pasywny.
- Hash
- jeżeli damy tu referencję do uchwytu pliku zostanie na nim wywołana metoda hash()
- LocalAddr
- argument ten zostanie przekazany do IO::Socket::INET
W przypadklu błędu zwraca undef
Wybrane metody
- login
login ([LOGIN [,PASSWORD [, ACCOUNT] ] ])
jeżeli nie podamy argumentów, anonymous zostanie użyty jako login, aanonymous@ jako hasło.- authorize
authorize ( [AUTH [, RESP]])
zostanie wywołana jeżeli polączenie ma nastąpić przez zaporę.- rename
rename ( OLDNAME, NEWNAME )
zmienia nazwę pliku na serwerze z OLDNAME na NEWNAME.- delete
delete ( FILENAME )
wysyła żądanie usunięcia pliku FILENAME- cwd
cwd ( [ DIR ] )
zmienia folder na ten podany w DIR.- pwd
pwd ()
zwraca pełną ścieżkę do bieżącego folderu.- rmdir
rmdir ( DIR [, RECURSE ])
wysyła żądanie usunięcie folderu DIR. jeżeli jako opcję RECURSE podamy wartość true usuniemy folder rekursywnie.- mkdir
mkdir ( DIR [, RECURSE ])
uworzy folder o nazwie DIR. jeżeli jako opcję RECURSE podamy wartość true utworzy wszystkie foldery wewnątrz podanej przez nas scieżki.- get
get ( REMOTE_FILE [, LOCAL_FILE [, WHERE]] )
pobierz plik REMOTE_FILE jako LOCAL_FILE do bieżącego folderu bądź podanego jako opcja WHERE. zwraca LOCAL_FILE.- put
put ( LOCAL_FILE [, REMOTE_FILE ] )
wyślij plik LOCAL_FILE do serwera. zwraca REMOTE_FILE.- size
size ( FILE )
zwraca wielkość pliku FILE w bajtach.- append
append ( LOCAL_FILE [, REMOTE_FILE ] )
działa jak metoda put, tyle że dodaje do pliku na serwerze. zwraca REMOTE_FILE.- appe
appe ( FILE )
informuje serwer, że chcemy dodać jakieś dane do pliku FILE. jeżeli taki plik nie istnieje, zostanie on utworzony.- abort
abort ()
przerwij bieżący transfer danych.- quit
quit ()
wyślij komende QUIT do serwera i zamknij połączenie.
Przykład
use Net::FTP;
my $host="manta.univ.gda.pl";
my $login="abc1";
my $password="a123";
my $path="perl";
my $file="plik.pl";
$ftp=Net::FTP->new ($host,Timeout=>240);
$ftp->login($login,$password);
$ftp->cwd ($path);
@files=$ftp->dir;
foreach(@files){
print "$_\n";
}
$ftp->get ($file);
$ftp->quit;
print "rozmiar pobranego pliku ",-s $file," bajtow\n";
Dodatkowe informacje
Więcej w dokumentacji Net::FTP - FTP Client class - search.cpan.org
Informacje o autorze opracowania
Autor: M.M.
[c] Piotr Arłukowicz, materiały z tej strony udostępnione są na licencji GNU.