PureBasic
PureBasic
SFTP Write Text File
See more SFTP Examples
Demonstrates how to create a new text file on the remote SSH server, append text by calling WriteFileText one or more times, and then close the file.Chilkat PureBasic Downloads
IncludeFile "CkSFtp.pb"
Procedure ChilkatExample()
success.i = 0
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
sftp.i = CkSFtp::ckCreate()
If sftp.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; Set some timeouts, in milliseconds:
CkSFtp::setCkConnectTimeoutMs(sftp, 5000)
CkSFtp::setCkIdleTimeoutMs(sftp, 15000)
; Connect to the SSH server.
; The standard SSH port = 22
; The hostname may be a hostname or IP address.
hostname.s = "sftp.example.com"
port.i = 22
success = CkSFtp::ckConnect(sftp,hostname,port)
If success <> 1
Debug CkSFtp::ckLastErrorText(sftp)
CkSFtp::ckDispose(sftp)
ProcedureReturn
EndIf
; Authenticate with the SSH server. Chilkat SFTP supports
; both password-based authenication as well as public-key
; authentication. This example uses password authenication.
success = CkSFtp::ckAuthenticatePw(sftp,"myLogin","myPassword")
If success <> 1
Debug CkSFtp::ckLastErrorText(sftp)
CkSFtp::ckDispose(sftp)
ProcedureReturn
EndIf
; After authenticating, the SFTP subsystem must be initialized:
success = CkSFtp::ckInitializeSftp(sftp)
If success <> 1
Debug CkSFtp::ckLastErrorText(sftp)
CkSFtp::ckDispose(sftp)
ProcedureReturn
EndIf
; Open a file on the server for writing.
; "createTruncate" means that a new file is created; if the file already exists, it is opened and truncated.
handle.s = CkSFtp::ckOpenFile(sftp,"myTest.txt","writeOnly","createTruncate")
If CkSFtp::ckLastMethodSuccess(sftp) <> 1
Debug CkSFtp::ckLastErrorText(sftp)
CkSFtp::ckDispose(sftp)
ProcedureReturn
EndIf
; Write some text to the file:
success = CkSFtp::ckWriteFileText(sftp,handle,"ansi","abcdefghijklmnopqrstuvwxyz")
If success <> 1
Debug CkSFtp::ckLastErrorText(sftp)
CkSFtp::ckDispose(sftp)
ProcedureReturn
EndIf
success = CkSFtp::ckWriteFileText(sftp,handle,"ansi","1234567890")
If success <> 1
Debug CkSFtp::ckLastErrorText(sftp)
CkSFtp::ckDispose(sftp)
ProcedureReturn
EndIf
success = CkSFtp::ckWriteFileText(sftp,handle,"ansi","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
If success <> 1
Debug CkSFtp::ckLastErrorText(sftp)
CkSFtp::ckDispose(sftp)
ProcedureReturn
EndIf
; Close the file.
success = CkSFtp::ckCloseHandle(sftp,handle)
If success <> 1
Debug CkSFtp::ckLastErrorText(sftp)
CkSFtp::ckDispose(sftp)
ProcedureReturn
EndIf
Debug "Success."
CkSFtp::ckDispose(sftp)
ProcedureReturn
EndProcedure