ct_ftp

FTP client module (based on the FTP support of the INETS application).

FTP client module (based on the FTP support of the INETS application).

DATA TYPES

connection() = handle() | target_name() (see module ct)
handle() = handle() (see module ct_gen_conn)

Handle for a specific ftp connection.

Functions


put(KeyOrName, LocalFile, RemoteFile) -> ok | {error, Reason}

  • KeyOrName = Key | Name
  • Key = atom()
  • Name = target_name() (see module ct)
  • LocalFile = string()
  • RemoteFile = string()

Open a ftp connection and send a file to the remote host.

LocalFile and RemoteFile must be absolute paths.

If the target host is a "special" node, the ftp address must be specified in the config file like this:

   {node,[{ftp,IpAddr}]}.

If the target host is something else, e.g. a unix host, the config file must also include the username and password (both strings):

   {unix,[{ftp,IpAddr},
          {username,Username},
          {password,Password}]}.

get(KeyOrName, RemoteFile, LocalFile) -> ok | {error, Reason}

  • KeyOrName = Key | Name
  • Key = atom()
  • Name = target_name() (see module ct)
  • RemoteFile = string()
  • LocalFile = string()

Open a ftp connection and fetch a file from the remote host.

RemoteFile and LocalFile must be absolute paths.

The config file must be as for put/3.

See also: put/3.

open(KeyOrName) -> {ok, Handle} | {error, Reason}

  • KeyOrName = Key | Name
  • Key = atom()
  • Name = target_name() (see module ct)
  • Handle = handle()

Open an FTP connection to the specified node.

You can open one connection for a particular Name and use the same name as reference for all subsequent operations. If you want the connection to be associated with Handle instead (in case you need to open multiple connections to a host for example), simply use Key, the configuration variable name, to specify the target. Note that a connection that has no associated target name can only be closed with the handle value.

send(Connection, LocalFile) -> ok | {error, Reason}

Send a file over FTP.

The file will get the same name on the remote host.

See also: send/3.

send(Connection, LocalFile, RemoteFile) -> ok | {error, Reason}

  • Connection = connection()
  • LocalFile = string()
  • RemoteFile = string()

Send a file over FTP.

The file will be named RemoteFile on the remote host.

recv(Connection, RemoteFile) -> ok | {error, Reason}

Fetch a file over FTP.

The file will get the same name on the local host.

See also: recv/3.

recv(Connection, RemoteFile, LocalFile) -> ok | {error, Reason}

  • Connection = connection()
  • RemoteFile = string()
  • LocalFile = string()

Fetch a file over FTP.

The file will be named LocalFile on the local host.

cd(Connection, Dir) -> ok | {error, Reason}

  • Connection = connection()
  • Dir = string()

Change directory on remote host.

ls(Connection, Dir) -> {ok, Listing} | {error, Reason}

  • Connection = connection()
  • Dir = string()
  • Listing = string()

List the directory Dir.

type(Connection, Type) -> ok | {error, Reason}

  • Connection = connection()
  • Type = ascii | binary

Change file transfer type

delete(Connection, File) -> ok | {error, Reason}

  • Connection = connection()
  • File = string()

Delete a file on remote host

close(Connection) -> ok | {error, Reason}

  • Connection = connection()

Close the FTP connection.