GetFileStatus Method  
 

Return status information about a specific file on an FTP server.

Syntax

object.GetFileStatus( FileName, [FileLength], [FileDate], [FileOwner], [FileGroup], [FilePerms], [IsDirectory] )

Parameters

FileName
A string value that specifies the name of the file that status information will be returned for.
FileLength
An integer value that will specify the size of the file on the server when the method returns. This parameter must be passed by reference. Note that if this is a text file, the file size may be different on the server than it is on the local system. This is because different operating systems use different conventions that indicate the end of a line and/or the end of the file. On Windows platforms, directories have a file size of zero bytes.
FileDate
A string value that will specify the date and time the file was created or last modified on the server. This parameter must be passed by reference. The date format that is returned is expressed in local time (in other words, the timezone of the server is not taken into account) and depends on both the local host settings via the Control Panel and the format of the date and time information returned by the server
FileOwner
A string value that will specify the owner of the file on the server. This parameter must be passed by reference. On some platforms, this information may not be available for security reasons if an anonymous login session was specified
FileGroup
A string value that will specify the group that the file owner belongs to. This parameter must be passed by reference. On some platforms, this information may not be available for security reasons if an anonymous login session was specified
FilePerms
An integer value that will specify the permissions assigned to the file. This parameter must be passed by reference. This value is actually a combination of bits that specify the individual permissions for the file owner, group and world (all other users). For those familiar with UNIX, the file permissions are the same as those used by the chmod command. The permissions are as follows:
Value Constant Description
1 ftpPermWorldExecute All users have permission to execute the contents of the file. If this permission is set for a directory, this may also grant all users the right to open that directory and search for files in that directory.
2 ftpPermWorldWrite All users have permission to open the file for writing. This permission grants any user the right to replace the file. If this permission is set for a directory, this grants any user the right to create and delete files.
4 ftpPermWorldRead All users have permission to open the file for reading. This permission grants any user the right to download the file to the local system.
8 ftpPermGroupExecute Users in the specified group have permission to execute the contents of the file. If this permission is set for a directory, this may also grant the user the right to open that directory and search for files in that directory.
16 ftpPermGroupWrite Users in the specified group have permission to open the file for writing. On some platforms, this may also imply permission to delete the file. If the current user is in the same group as the file owner, this grants the user the right to replace the file. If this permission is set for a directory, this grants the user the right to create and delete files.
32 ftpPermGroupRead Users in the specified group have permission to open the file for reading. If the current user is in the same group as the file owner, this grants the user the right to download the file.
64 ftpPermOwnerExecute The owner has permission to execute the contents of the file. The file is typically either a binary executable, script or batch file. If this permission is set for a directory, this may also grant the user the right to open that directory and search for files in that directory.
128 ftpPermOwnerWrite The owner has permission to open the file for writing. If the current user is the owner of the file, this grants the user the right to replace the file. If this permission is set for a directory, this grants the user the right to create and delete files.
256 ftpPermOwnerRead The owner has permission to open the file for reading. If the current user is the owner of the file, this grants the user the right to download the file to the local system.
4096 ftpPermSymbolicLink The file is a symbolic link to another file. Symbolic links are special types of files found on UNIX based systems which are similar to Windows shortcuts.
IsDirectory
A boolean value that will specify if the file is a directory or a regular file. This parameter must be passed by reference.

Return Value

A value of zero is returned if the method succeeds. Otherwise, a non-zero error code is returned which indicates the cause of the failure.

Remarks

The GetFileStatus method returns information about the specified file. The filename must be specified using the server file naming conventions, and cannot include wildcard characters. The primary difference between using this method and using the OpenDirectory and ReadDirectory methods to obtain file information is that the file status information is returned on the command channel. This method cannot be used while a file transfer is in progress or while a file listing is being returned by the server. All output arguments are optional.

Note that this method requires that the server return file status information in response to the STAT command. Some servers, for example on VMS platforms, do not provide this information. On some systems, the STAT command will not return information on files that contain spaces or tabs (whitespace) in the filename. In this case, the method will set the specified arguments to empty strings and zero values.

See Also

CloseDirectory Method, OpenDirectory Method, ReadDirectory Method