Create object names "basp21.FTP" by CreateObject Method.
Set ftp = Server.CreateObject("basp21.FTP") ' ASP Set ftp = CreateObject("basp21.FTP") ' VBA or VB Set ftp = WScript.CreateObject("basp21.FTP") ' WSH
Call method of Object you just created.
variable = ftp.method_name(parameter)
Connects to the FTP server.rc = ftp.Connect(dest,user,pass) svr [in] : Internet Protocol address or network host name at connection destination. server-name[:port][:time-out]. The port number (default value 21) and the time-out value (default value 120 second) can be specified by delimiting ":". user [in] : user name. pass [in] : password. rc [out] : The result code. 0 : Method completed successfully. 1 - 5 : Error. Call the GetReply method, and examine details in the FTP response text. 10000 or more : Winsock Error. -1 : Socket opening error. -2 : Time-out Example: rc = ftp.Connect("ftp.microsoft.com:21:120","anonymous","who@who.com")
Retrieves a file or files from the FTP server and stores it under the specified file name.rc = ftp.GetFile(remote,local[,type]) remote [in] : Remote file name. The delimitation of the directory uses "/". The specification of multiple files uses "*" like "*" and "*. html" etc. "*" can be used only once. For instance, "* aa*.txt" cannot be specified. Example: a.html --- a.html of current directory html/a.html --- a.html of html directory html/*.html --- All html files of html directory html/* --- All files of html directory local [in] : File name or directory name of local (machine which is operation of BASP21). Please specify the directory name at multiple files. type [in] :The received data type is specified as follows. 0 : ASCII (Default value). 1 : BINARY. rc [out] : The result code. 1 or more : Method completed successfully. Transmitted number of files. 0 : Error. File not found. other : Error. Call the GetReply method, and examine details in the FTP response text. Example: rc = ftp.GetFile("html/index.html","c:\temp\html") rc = ftp.GetFile("html/index.html","c:\temp\html\index2.html") rc = ftp.GetFile("html/*.html","c:\temp\html") rc = ftp.GetFile("html/images/*","c:\temp\image",1)
Stores a file or files on the FTP server.rc = ftp.PutFile(local,remote[,type]) local [in] : The transmitted file name is specified by fully qualified. The specification of multiple files uses "*" like "*" and "*. html" etc. "*" can be used only once. For instance, "* aa*.txt" cannot be specified. Example: c:\html\a.html --- a.html of html directory c:\html\*.html --- All html files of html directory c:\html\* --- All files of html directory remote [in] : The directory name of the file to create on the remote system. ""is current directory. type [in] :The sending data type is specified as follows. 0 : ASCII (Default value). 1 : BINARY. rc [out] : The result code. 1 or more : Method completed successfully. Transmitted number of files. 0 : Error. File not found. other : Error. Call the GetReply method, and examine details in the FTP response text. Example: rc = ftp.PutFile("c:\html\index.html","html") rc = ftp.PutFile("c:\html\*.html","html") rc = ftp.PutFile("c:\html\images\*","html/images",1)
The file changed today is transmitted. It is convenient to transmit only the changed file.rc = ftp.PutToday(local,remote[,type]) local [in] : The transmitted file name is specified by fully qualified. The specification of multiple files uses "*" like "*" and "*. html" etc. "*" can be used only once. For instance, "* aa*.txt" cannot be specified. Example: c:\html\a.html --- a.html of html directory c:\html\*.html --- All html files of html directory c:\html\* --- All files of html directory remote [in] : The directory name of the file to create on the remote system. ""is current directory. type [in] :The sending data type is specified as follows. 0 : ASCII (Default value). 1 : BINARY. rc [out] : The result code. 1 or more : Method completed successfully. Transmitted number of files. 0 : File not found. other : Error. Call the GetReply method, and examine details in the FTP response text. Example: rc = ftp.PutToday("c:\html\*.html","html")
Deletes a file stored on the FTP server.rc = ftp.DeleteFile(remote) remote [in] : Remote file name. The delimitation of the directory uses "/". The specification of multiple files uses "*" like "*" and "*. html" etc. "*" can be used only once. For instance, "* aa*.txt" cannot be specified. Example: a.html --- a.html of current directory html/a.html --- a.html of html directory html/*.html --- All html files of html directory html/* --- All files of html directory rc [out] : The result code. 1 or more : Method completed successfully. Deleted number of files. other : Error. Call the GetReply method, and examine details in the FTP response text. Example: rc =ftp.DeleteFile("html/*")
Renames a file stored on the FTP server.rc = ftp.RenameFile(old,new) old [in] : the name of the file that will have its name changed on the remote FTP server. new [in] : the new name for the remote file. rc [out] : The result code. 2 : Method completed successfully. other : Error. Call the GetReply method, and examine details in the FTP response text. Example: rc = ftp.RenameFile("html/index.html","html/top.html") ' index.html -> top.html
The file list is returned by the array.farray = ftp.GetDir(remote[,mode]) remote [in] : Remote directory name. mode [in] : Kind of file list. 0 : Default value. Only the file name. 1 : Only the directory name. 2 : LIST format. The result of the LIST command is returned. 3 : NLST format. The result of the NLST command is returned. farray [out] : The result is returned by the array. The array is not returned when there are neither an error nor an entry. Example: rc = ftp.GetDir("") ' File list of current directory
Send a command directly to an FTP server. The command with a data transfer such as STOR/RETR/LIST/NLST cannot be executed.rc = ftp.Command(cmd) cmd [in] : Command name and parameter. The command which can be executed is different according to the FTP server. The following commands are defined in the FTP protocol. - HELP [command] --- send helpful information regarding its implementation - CMD path --- change working directory - CDUP --- change parent directory - RMD path --- remove directory - MKD path --- make directory - SITE command --- execute site command rc [out] : The result code. 2 : Method completed successfully. -1 : STOR/RETR/LIST/NLST cannot execute. other : Error. Call the GetReply method, and examine details in the FTP response text. Example: rc = ftp.Command("HELP") ' HELP command help = ftp.GetReply() ' get reply The content of help (Differ according to the server): 214-The following commands are recognized (* =>'s unimplemented). USER PORT STOR MSAM* RNTO NLST MKD CDUP PBSZ* PASS PASV APPE MRSQ* ABOR SITE XMKD XCUP PROT* ACCT* TYPE MLFL* MRCP* DELE SYST RMD STOU SIZE SMNT* STRU MAIL* ALLO CWD STAT XRMD AUTH* MDTM REIN* MODE MSND* REST XCWD HELP PWD ADAT* QUIT RETR MSOM* RNFR LIST NOOP XPWD CCC* 214 Direct comments to ftp-bugs@server1. rc = ftp.Command("HELP SITE") ' HELP SITE command helpsite = ftp.GetReply() ' get reply The content of helpsite (Differ according to the server): 214-The following SITE commands are recognized (* =>'s unimplemented). UMASK IDLE CHMOD HELP 214 Direct comments to ftp-bugs@server1. rc = ftp.Command("HELP SITE CHMOD") ' HELP SITE CHMOD command helpchmod = ftp.GetReply() ' get reply The content of helpchmod (Differ according to the server): 214 Syntax: SITE CHMODmode file-name
The response text of the FTP command is received. Details of the error and the execution result of the Command method are received.text = ftp.GetReply() text [out] : The response text is returned by the character string. CRLF is included when extending to two or more lines. Example: text = ftp.GetReplay()
Open the log file. The exchange of the FTP command with the FTP server is preserved in the text file.rc = ftp.OpenLog(file[,mode]) file [in] : The file name is specified by fully qualified. mode [in] : 0 - newly created. 1 - append mode. rc [out] : The result code. 0 : Method completed successfully. other : Error. Example: rc = ftp.OpenLog("c:\ftplog.txt",1) ' append
Close the log file.rc = ftp.CloseLog() rc [out] : The result code. 0 : Method completed successfully. other : Error. Example: rc = ftp.CloseLog()
Close connection.Example: ftp.Close
Visual Basic
Private Sub Form_Load() Dim ftp As Object, rc As Long, v As Variant, v2 As Variant Dim ctr As Long Set ftp = CreateObject("basp21.FTP") ftp.OpenLog "c:\temp\log.txt" rc = ftp.Connect("ftp.microsoft.com", "anonymous", "") If rc = 0 Then v = ftp.GetDir("bussys/winnt/winnt-public", 2) If IsArray(v) Then For Each v2 In v Debug.Print v2 Next End If v = ftp.GetDir("bussys/winnt/winnt-public") If IsArray(v) Then For Each v2 In v Debug.Print v2 Next End If rc = ftp.GetFile("bussys/winnt/winnt-public/*", "c:\temp") End If End End Sub WSH
set bobj=createobject("basp21") set ftp=createobject("basp21.FTP") Set WshShell = Wscript.CreateObject("Wscript.Shell") WshShell.Run ("notepad") ftp.OpenLog "c:\temp\log.txt" rc = ftp.Connect("ftp.microsoft.com", "anonymous", "") If rc = 0 Then v = ftp.GetDir("bussys/winnt/winnt-public", 2) bobj.Debug v v = ftp.GetDir("bussys/winnt/winnt-public") bobj.Debug v rc = ftp.GetFile("bussys/winnt/winnt-public/*", "c:\temp") End If