#--------------------#
FUNCTION TesteLFTP()
#--------------------#
DEFINE l_ind SMALLINT,
l_count SMALLINT,
l_status SMALLINT
DEFINE l_file_name CHAR(050)
DEFINE l_ftp_reference VARCHAR(10)
# Cria o componente para conexão FTP.
LET l_ftp_reference = _ADVPL_create_component(NULL,"LFTP")
# Conecta o componente ao servidor FTP.
LET l_status = _ADVPL_get_property(l_ftp_reference,"FTP_CONNECT","est1",21,"lg991933","********")
IF NOT l_status THEN
CALL log0030_mensagem("Não foi possível conectar-se ao servidor FTP.","excl")
RETURN
END IF
# Carrega a lista dos arquivos de um diretório FTP.
CALL _ADVPL_set_property(l_ftp_reference,"FTP_LOAD_FILE_LIST","/home/lg991933/","*.*",TRUE)
# Recupera a quantidade de arquivos encontrados no diretório.
LET l_count = _ADVPL_get_property(l_ftp_reference,"FTP_GET_FILE_LIST_COUNT")
IF l_count = 0 THEN
CALL log0030_mensagem("Nenhum arquivo encontrado no diretório '/home/lg991933/' do servidor FTP.","excl")
RETURN
END IF
FOR l_ind = 1 TO l_count
# Exibe no console todos os arquivos encontrados no diretório.
LET l_file_name = _ADVPL_get_property(l_ftp_reference,"FTP_GET_FILE_LIST_INDEX",l_ind)
CALL conout(l_file_name CLIPPED)
END FOR
# Efetua o upload de um arquivo da máquina local para o servidor FTP.
LET l_status = _ADVPL_get_property(l_ftp_reference,"FTP_UPLOAD_FILE","C:\\ftp\\ftp_upload.txt","\\home\\lg991933\\")
# Efetua o download de um arquivo do servidor FTP para a maquina local.
LET l_status = _ADVPL_get_property(l_ftp_reference,"FTP_DOWNLOAD_FILE","\\home\\lg991933\\ftp_download.txt","C:\\ftp\\")
# Renomeia um arquivo do servidor FTP.
LET l_status = _ADVPL_get_property(l_ftp_reference,"FTP_RENAME_FILE","\\home\\lg991933\\ftp_download.txt","teste.txt")
# Exclui um arquivo do servidor FTP.
LET l_status = _ADVPL_get_property(l_ftp_reference,"FTP_REMOVE_FILE","\\home\\lg991933\\teste.txt")
# Disconecta do servidor FTP.
CALL _ADVPL_set_property(l_ftp_reference,"FTP_DISCONNECT")
END FUNCTION |