version 2003 (Modified)
FTP_GetDirList (ftp_ID; directory; names; sizes; kinds; modDates{; modTimes}) --> 整数
引数 | Type | 説明 | |
ftp_ID | 倍長整数 | --> | FTPログイン参照 |
directory | テキスト | --> | Unixディレクトリパス名 |
カレントディレクトリ | |||
names | 文字|テキスト配列 | 名前のリスト | |
sizes | 倍長整数配列 | サイズのリスト | |
kinds | 倍長整数配列 | 種類のリスト | |
0 = plain file, | |||
1 = directory, | |||
2 = block-type special file, | |||
3 = character-type special file, | |||
4 = symbolic link, | |||
5 = FIFO special file, | |||
6 = AF_UNIX address family socket | |||
modDates | 日付配列 | 更新日のリスト | |
modTimes | 倍長整数配列 | 更新時間のリスト | |
戻り値 | 整数 | エラーコード |
説明
FTP_GetDirList コマンドは、ftp_IDで指定されたFTPセッションで、directory内のオブジェクトリストを取得します。directory中の項目の名前、サイズ、タイプ、更新日、そしてオプションで更新時間に関する情報が配列に返されます。FTPサイトへの接続がFTP_Loginによって開かれ、まだ有効でなければなりません (FTP_VerifyID)。FTP_GetDirList コマンドはカレントのワーキングディレクトリ (CWD) を指定されたパスに変更し、directory 引数に返します。
ftp_IDは、FTP_Loginにより確立されたFTPセッション参照です。
directory はFTPディレクトリを参照するHostPath フォーマットのテキスト値です。変更後のカレントディレクトリを受け取るため、4D変数またはフィールドをこの引数に渡さなければなりません。通常この引数に返される値は、渡した値と同じです。しかし、アクセス制限などの理由で、ディレクトリの変更が行われない場合があります。この場合、directory 引数はセッションのカレントディレクトリへのHostPath を保持します。
空の文字列をこの引数に渡すと、カレントディレクトリのファイルリストが配列に返され、カレントディレクトリのHostPath がdirectory 引数に返されます。
names には文字列またはテキスト配列を渡し、directoryで指定したパスのオブジェクト名が返されます。
sizes には倍長整数配列を渡し、directoryで指定したパスのオブジェクトのサイズが返されます。
kindsには倍長整数配列を渡し、directoryで指定したパスのオブジェクトの種類が返されます。それぞれの数値は以下のオブジェクトを指します:
種類 | ファイルのタイプ |
0 | plain file |
1 | directory |
2 | block-type special file |
3 | character-type special file |
4 | symbolic link (aliases on files or folders) |
5 | FIFO special file |
6 | AF_UNIX address family socket |
Note: symbolic link (種類=4)の場合、FTPサーバは特殊なパス名を返します (エイリアス名 + シンボル + ソースファイルまたはフォルダへのパス)。このパス名を使用してソースファイルやフォルダにアクセスしようとすると、エラーが返されます。FTP_GetDirList から返された文字列の、シンボルより後ろの文字列から、ソースファイルやフォルダのパス名を展開しなくてはなりません。そうしないと、FTP_GetFileInfoなどのコマンドはファイルやフォルダを見つけられないため、エラー?10085を返します。
modDates には日付配列を渡し、directoryで指定したパスの最終更新日が返されます。
modTimes には倍長整数配列を渡し、directoryで指定したパスの最終更新時間が返されます。
注意: 4Dでは時間タイプのデータを扱うために倍長整数配列を使用します。それぞれの配列要素は秒数を表します。これらの値をHH:MM:SSフォーマットに変換するには、Time stringコマンドを使用します。
参照
FTP_ChangeDir, FTP_Login, FTP_PrintDir, FTP_VerifyID.