View Source FTP Client
Getting Started
FTP clients are considered to be rather temporary. Thus, they are only started and stopped during runtime and cannot be started at application startup. The FTP client API is designed to allow some functions to return intermediate results. This implies that only the process that started the FTP client can access it with preserved sane semantics. If the process that started the FTP session dies, the FTP client process terminates.
The client supports IPv6 as long as the underlying mechanisms also do so.
The following is a simple example of an FTP session, where the user guest
with
password password
logs on to the remote host erlang.org
:
1> ftp:start().
ok
2> {ok, Pid} = ftp:open([{host, "erlang.org"}]).
{ok,<0.22.0>}
3> ftp:user(Pid, "guest", "password").
ok
4> ftp:pwd(Pid).
{ok, "/home/guest"}
5> ftp:cd(Pid, "appl/examples").
ok
6> ftp:lpwd(Pid).
{ok, "/home/fred"}.
7> ftp:lcd(Pid, "/home/eproj/examples").
ok
8> ftp:recv(Pid, "appl.erl").
ok
9> ftp:close(Pid).
ok
10> ftp:stop().
ok
The file appl.erl
is transferred from the remote to the local host. When the
session is opened, the current directory at the remote host is /home/guest
,
and /home/fred
at the local host. Before transferring the file, the current
local directory is changed to /home/eproj/examples
, and the remote directory
is set to /home/guest/appl/examples
.