feat(tsl-api-reference): expand API and module coverage

This commit is contained in:
csh
2026-08-14 17:12:55 +08:00
parent 8f1056130d
commit 3d3036ebe1
571 changed files with 47842 additions and 14458 deletions
@@ -6,21 +6,35 @@
用于连接和登录 FTP 服务器,并管理远程目录、传输文件及发送服务器命令
<!-- tags: Object FTP 文件传输 文件 目录 路径 file 对象 实例 -->
<!-- tags: Object FTP 文件传输 文件 目录 路径 file 对象 实例 创建 生成 构造函数 实例化 new 列表 通配符 -->
### `create(host)`
下列范例使用本机 `127.0.0.1:42121` 的临时 FTP 测试服务
测试账号为 `tsl_user``tsl_pass`,测试结束后应清空服务根目录
### `create()`
声明:function
创建 FTP 实例
无参数构造函数。创建 FTP 实例,连接参数由实例属性设置
<!-- tags: Object FTP 文件传输 创建 生成 文件 目录 路径 file 对象 实例 -->
可见性:public
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `host` | string | 可选。字符串类型。如果指定了Host参数,会自动从配置文件中获取对应设置,自动连接并登录服务器 |
### `create(host)`
声明:function
构造函数。按 host 配置名称读取连接参数并自动连接和登录服务器
<!-- tags: Object FTP 文件传输 创建 生成 文件 目录 路径 file 对象 实例 -->
可见性:public
| 参数 | 类型 | 说明 |
| ------ | ------ | ---------------------------------------------------------------- |
| `host` | string | FTP 配置名称。指定后从配置文件读取连接参数并自动连接和登录服务器 |
### `abort()`
@@ -37,15 +51,16 @@
#### 示例
```tsl
obj := CreateObject("FTP");
obj.host := "ftp.tinysoft.com.cn";
obj.port := 20;
obj.username := username;
obj.password := password;
obj.connect();//连接服务器
obj.login();//登录服务器
return obj.Abort();
//终止连接成功,返回0
obj := new FTP();
obj.host := "127.0.0.1";
obj.port := 42121;
obj.username := "tsl_user";
obj.password := "tsl_pass";
obj.passive := true;
obj.connect();
obj.login();
echo obj.abort(), "\n";
// 输出:0
```
### `changeDir(a_dir_name)`
@@ -58,8 +73,8 @@ return obj.Abort();
可见性:public
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| 参数 | 类型 | 说明 |
| ------------ | ------ | ---------------------------------- |
| `a_dir_name` | string | string,字符串类型,要切换到的目录 |
返回:any
@@ -67,16 +82,23 @@ return obj.Abort();
#### 示例
```tsl
obj := CreateObject("FTP");
obj.host := "ftp.tinysoft.com.cn";
obj.port := 20;
obj.username := username;
obj.password := password;
obj.connect();//连接
obj.login();//登录
obj.changedir('/test');//将FTP服务器上的当前目录更改为"/test"
return obj.RetrieveCurrentDir();
//修改成功,当前目录应为"/test"
obj := new FTP();
obj.host := "127.0.0.1";
obj.port := 42121;
obj.username := "tsl_user";
obj.password := "tsl_pass";
obj.passive := true;
obj.connect();
obj.login();
obj.makeDir("tsl-change-dir");
echo obj.changeDir("tsl-change-dir"), "\n";
echo obj.retrieveCurrentDir, "\n";
obj.changeDirUp();
obj.removeDir("tsl-change-dir");
obj.abort();
// 输出:
// 0
// /tsl-change-dir/
```
### `changeDirUp()`
@@ -94,17 +116,23 @@ return obj.RetrieveCurrentDir();
#### 示例
```tsl
obj := CreateObject("FTP");
obj.host := "ftp.tinysoft.com.cn";
obj.port := 20;
obj.username := username;
obj.password := password;
obj.connect();//连接
obj.login();//登录
obj.changedir('/test');//将FTP服务器上的当前目录更改为"/test"
obj.changeDirUp();//跳转到当前目录的上一级目录"/"
return obj.RetrieveCurrentDir();
//跳转成功,当前目录应为"/"
obj := new FTP();
obj.host := "127.0.0.1";
obj.port := 42121;
obj.username := "tsl_user";
obj.password := "tsl_pass";
obj.passive := true;
obj.connect();
obj.login();
obj.makeDir("tsl-change-dir-up");
obj.changeDir("tsl-change-dir-up");
echo obj.changeDirUp(), "\n";
echo obj.retrieveCurrentDir, "\n";
obj.removeDir("tsl-change-dir-up");
obj.abort();
// 输出:
// 0
// /
```
### `connect()`
@@ -122,13 +150,15 @@ return obj.RetrieveCurrentDir();
#### 示例
```tsl
obj := CreateObject("FTP");
obj.host := "ftp.tinysoft.com.cn";
obj.port := 20;
obj.username := username;
obj.password := password;
return obj.connect();
//连接成功,返回0
obj := new FTP();
obj.host := "127.0.0.1";
obj.port := 42121;
obj.username := "tsl_user";
obj.password := "tsl_pass";
obj.passive := true;
echo obj.connect(), "\n";
obj.abort();
// 输出:0
```
### `crc(file_name, start_point, end_point)`
@@ -141,11 +171,11 @@ return obj.connect();
可见性:public
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `file_name` | string | 字符串类型,指定的文件名 |
| `start_point` | int64 | 整数类型,计算CRC值的文件其实位置,默认为0 |
| `end_point` | int64 | 整数类型,计算CRC值的文件末尾位置,默认为0,当指定为0时,EndPoint认为是文件长度 |
| 参数 | 类型 | 说明 |
| ------------- | ------ | ------------------------------------------------------------------------------- |
| `file_name` | string | 字符串类型,指定的文件名 |
| `start_point` | int64 | 整数类型,计算CRC值的文件其实位置,默认为0 |
| `end_point` | int64 | 整数类型,计算CRC值的文件末尾位置,默认为0,当指定为0时,EndPoint认为是文件长度 |
返回:int64
@@ -159,8 +189,8 @@ return obj.connect();
可见性:public
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| 参数 | 类型 | 说明 |
| ----------- | ------ | ---------------------------------- |
| `file_name` | string | 字符串类型,指定要删除的文件的名称 |
返回:any
@@ -168,20 +198,25 @@ return obj.connect();
#### 示例
```tsl
obj := CreateObject("FTP");
obj.host := "ftp.tinysoft.com.cn";
obj.port := 20;
obj.username := username;
obj.password := password;
//连接FTP服务器
filename := "/data/workspace/tmp/tsl-ftp-delete.txt";
pos := 0;
writeFile(rwRaw(), "", filename, pos, 5, "hello");
source := new TMemoryStream();
source.loadFromFile("", filename);
source.position := 0;
obj := new FTP();
obj.host := "127.0.0.1";
obj.port := 42121;
obj.username := "tsl_user";
obj.password := "tsl_pass";
obj.passive := true;
obj.connect();
//登录
obj.Login();
//删除Test.txt文件
obj.delete("Test.txt");
//验证文件是否被删除
return obj.FileDate("Test.txt",0);
//获取文件时间,若无该文件,返回0
obj.login();
obj.put(source, "tsl-ftp-delete.txt", false);
echo obj.delete("tsl-ftp-delete.txt"), "\n";
obj.abort();
fileDelete("", filename);
// 输出:0
```
### `disconnectNotifyPeer()`
@@ -206,28 +241,36 @@ return obj.FileDate("Test.txt",0);
可见性:public
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `file_name` | string | 字符串类型,指定要获得修改时间的文件的名称 |
| `s_gmt` | boolean | 布尔类型,指定返回的时间是否为格林尼治时间标准时间 |
| 参数 | 类型 | 说明 |
| ----------- | ------- | -------------------------------------------------- |
| `file_name` | string | 字符串类型,指定要获得修改时间的文件的名称 |
| `s_gmt` | boolean | 布尔类型,指定返回的时间是否为格林尼治时间标准时间 |
返回:datetime
#### 示例
```tsl
obj := CreateObject("FTP");
obj.host := "ftp.tinysoft.com.cn";
obj.port := 20;
obj.username := username;
obj.password := password;
//连接FTP服务器
filename := "/data/workspace/tmp/tsl-ftp-date.txt";
pos := 0;
writeFile(rwRaw(), "", filename, pos, 5, "hello");
source := new TMemoryStream();
source.loadFromFile("", filename);
source.position := 0;
obj := new FTP();
obj.host := "127.0.0.1";
obj.port := 42121;
obj.username := "tsl_user";
obj.password := "tsl_pass";
obj.passive := true;
obj.connect();
//登录
obj.Login();
ret:= obj.FileDate("Test.txt",0);
return DateTimeToStr(ret);
//"2024-07-31 14:28:00"
obj.login();
obj.put(source, "tsl-ftp-date.txt", false);
echo obj.fileDate("tsl-ftp-date.txt", false) > 0, "\n";
obj.delete("tsl-ftp-date.txt");
obj.abort();
fileDelete("", filename);
// 输出:1
```
### `get(source_file, dest, resume)`
@@ -240,31 +283,45 @@ return DateTimeToStr(ret);
可见性:public
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `source_file` | string | 执行FTP上要下载的源文件名称 |
| `dest` | TSLObj | TStream类型,下载文件的目标流对象。参考 TFileStream对象 |
| `resume` | boolean | 当设置为真实支持断点续传,否则重新下载文件 |
| 参数 | 类型 | 说明 |
| ------------- | ------- | ------------------------------------------------------- |
| `source_file` | string | 执行FTP上要下载的源文件名称 |
| `dest` | TSLObj | TStream类型,下载文件的目标流对象。参考 TFileStream对象 |
| `resume` | boolean | 当设置为真实支持断点续传,否则重新下载文件 |
返回:any
#### 示例
```tsl
obj := CreateObject("FTP");
obj.host := "ftp.tinysoft.com.cn";
obj.port := 20;
obj.username := username;
obj.password := password;
//连接FTP服务器
source_file := "/data/workspace/tmp/tsl-ftp-get-source.txt";
dest_file := "/data/workspace/tmp/tsl-ftp-get-dest.txt";
pos := 0;
writeFile(rwRaw(), "", source_file, pos, 5, "hello");
source := new TMemoryStream();
source.loadFromFile("", source_file);
source.position := 0;
obj := new FTP();
obj.host := "127.0.0.1";
obj.port := 42121;
obj.username := "tsl_user";
obj.password := "tsl_pass";
obj.passive := true;
obj.connect();
//登录
obj.Login();
obj.TryNATFastTrack := 1;
//下载文件
st := new TFileStream("","D:\\test\\1.txt",65535);
obj.get("FtpTest.txt",st,0);
//若下载成功,可在本机对应位置查看文件
obj.login();
obj.put(source, "tsl-ftp-get.txt", false);
dest := new TMemoryStream();
echo obj.get("tsl-ftp-get.txt", dest, false), "\n";
dest.position := 0;
dest.saveToFile("", dest_file);
obj.delete("tsl-ftp-get.txt");
obj.abort();
echo fileExists("", dest_file), "\n";
fileDelete("", source_file);
fileDelete("", dest_file);
// 输出:
// 0
// 1
```
### `help(help_contents, command)`
@@ -277,10 +334,10 @@ obj.get("FtpTest.txt",st,0);
可见性:public
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `help_contents` | TStringList | 字符串类型,用于返回服务器的执行状态信息 |
| `command` | string | 可选。字符串类型,用于请求具体的命令的帮助信息,如HELP SITE |
| 参数 | 类型 | 说明 |
| --------------- | ----------- | ----------------------------------------------------------- |
| `help_contents` | TStringList | 字符串类型,用于返回服务器的执行状态信息 |
| `command` | string | 可选。字符串类型,用于请求具体的命令的帮助信息,如HELP SITE |
返回:any
@@ -300,40 +357,45 @@ obj.get("FtpTest.txt",st,0);
声明:function
列出FTP服务器上下载文件
列出 FTP 服务器当前目录中匹配 specifier 的文件或目录
<!-- tags: Object FTP 文件传输 列出 列表 文件 目录 路径 file 对象 实例 -->
可见性:public
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `dest` | TStringList | 字符串列表类型,当前目录的文件目录列表 |
| `specifier` | string | 字符串类型,当前目录下的目录名称或要列出的文件通配符(如’*.*’,’A.txt’等) |
| `details` | boolean | 布尔类型,是否返回详细的列表信息,包括文件大小修改日期和文件所有者权限,组等 |
| 参数 | 类型 | 说明 |
| ----------- | ----------- | -------------------------------------------------- |
| `dest` | TStringList | 接收文件目录列表的字符串列表 |
| `specifier` | string | 当前目录下的目录名称、文件名或通配符,例如 `*.txt` |
| `details` | boolean | 是否返回包含大小修改时间和权限等信息的详细列表 |
返回:any
#### 示例
```tsl
obj := CreateObject("FTP");
obj.host := "ftp.tinysoft.com.cn";
obj.port := 20;
obj.username := username;
obj.password := password;
//连接FTP服务器
filename := "/data/workspace/tmp/tsl-ftp-list.txt";
pos := 0;
writeFile(rwRaw(), "", filename, pos, 5, "hello");
source := new TMemoryStream();
source.loadFromFile("", filename);
source.position := 0;
obj := new FTP();
obj.host := "127.0.0.1";
obj.port := 42121;
obj.username := "tsl_user";
obj.password := "tsl_pass";
obj.passive := true;
obj.connect();
//登录
obj.Login();
AFiles := new TStringList();
//获取当前目录所有.txt文件信息
obj.List(AFiles,'*.txt',true);
return AFiles.GetText();
//字符串:
"-rw-r--r-- 1 1001 1001 17 Apr 09 16:07 test01.txt
-rw-r--r-- 1 1001 1001 0 Sep 16 2023 test02.txt
-rw-r--r-- 1 1001 1001 38 Jul 25 17:26 test03.txt"
obj.login();
obj.put(source, "tsl-ftp-list.txt", false);
files := new TStringList();
obj.list(files, "*.txt", true);
echo files.count > 0, "\n";
obj.delete("tsl-ftp-list.txt");
obj.abort();
fileDelete("", filename);
// 输出:1
```
### `login()`
@@ -351,17 +413,19 @@ return AFiles.GetText();
#### 示例
```tsl
obj := CreateObject("FTP");
obj.host := "ftp.tinysoft.com.cn";
obj.port := 20;
obj.username := username;
obj.password := password;
//连接FTP服务器
obj := new FTP();
obj.host := "127.0.0.1";
obj.port := 42121;
obj.username := "tsl_user";
obj.password := "tsl_pass";
obj.passive := true;
obj.connect();
//登录
obj.Login();
return obj.RetrieveCurrentDir();
//获取当前所在目录,若登录成功,则返回"/"
echo obj.login(), "\n";
echo obj.retrieveCurrentDir, "\n";
obj.abort();
// 输出:
// 0
// /
```
### `makeDir(dir_name)`
@@ -374,8 +438,8 @@ return obj.RetrieveCurrentDir();
可见性:public
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| 参数 | 类型 | 说明 |
| ---------- | ------ | ---------------------------- |
| `dir_name` | string | 字符串类型,要创建的目录名称 |
返回:any
@@ -383,17 +447,18 @@ return obj.RetrieveCurrentDir();
#### 示例
```tsl
obj := CreateObject("FTP");
obj.host := "ftp.tinysoft.com.cn";
obj.port := 20;
obj.username := username;
obj.password := password;
//连接FTP服务器
obj := new FTP();
obj.host := "127.0.0.1";
obj.port := 42121;
obj.username := "tsl_user";
obj.password := "tsl_pass";
obj.passive := true;
obj.connect();
//登录
obj.Login();
obj.MakeDir("newDir");
//若创建成功,可在服务器中查看或使用FAQ:List 查看
obj.login();
echo obj.makeDir("tsl-make-dir"), "\n";
obj.removeDir("tsl-make-dir");
obj.abort();
// 输出:0
```
### `noop()`
@@ -418,32 +483,36 @@ obj.MakeDir("newDir");
可见性:public
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `source` | TStream | 流对象类型,包含要上传的数据 |
| `dest_file` | string | 字符串类型,远程服务器的目标文件名 |
| `append` | boolean | 布尔类型,为真时,服务器将上传到数据从已存在的文件末尾写入 |
| 参数 | 类型 | 说明 |
| ----------- | ------- | ---------------------------------------------------------- |
| `source` | TStream | 流对象类型,包含要上传的数据 |
| `dest_file` | string | 字符串类型,远程服务器的目标文件名 |
| `append` | boolean | 布尔类型,为真时,服务器将上传到数据从已存在的文件末尾写入 |
返回:any
#### 示例
```tsl
obj := CreateObject("FTP");
obj.host := "ftp.tinysoft.com.cn";
obj.port := 20;
obj.username := username;
obj.password := password;
//连接FTP服务器
filename := "/data/workspace/tmp/tsl-ftp-put.txt";
pos := 0;
writeFile(rwRaw(), "", filename, pos, 5, "hello");
source := new TMemoryStream();
source.loadFromFile("", filename);
source.position := 0;
obj := new FTP();
obj.host := "127.0.0.1";
obj.port := 42121;
obj.username := "tsl_user";
obj.password := "tsl_pass";
obj.passive := true;
obj.connect();
//登录
obj.Login();
//构造TStream对象
filepath := "D:\\test\\Test.txt";
st := new TMemoryStream();
st.LoadFromFile("",filepath);
obj.Put(st,"put.txt",false);
//若上传成功,可在服务器中查看或使用FAQ:Get 下载后在本机查看
obj.login();
echo obj.put(source, "tsl-ftp-put.txt", false), "\n";
obj.delete("tsl-ftp-put.txt");
obj.abort();
fileDelete("", filename);
// 输出:0
```
### `quit()`
@@ -468,8 +537,8 @@ obj.Put(st,"put.txt",false);
可见性:public
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| 参数 | 类型 | 说明 |
| --------- | ------ | --------------------------- |
| `command` | string | 字符串类型,要执行的FTP命令 |
返回:integer
@@ -484,8 +553,8 @@ obj.Put(st,"put.txt",false);
可见性:public
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| 参数 | 类型 | 说明 |
| ------- | ------- | ------------------ |
| `delay` | integer | 整数类型,延后时间 |
返回:integer
@@ -500,8 +569,8 @@ obj.Put(st,"put.txt",false);
可见性:public
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| 参数 | 类型 | 说明 |
| ---------- | ------ | --------------------------------------- |
| `dir_name` | string | 字符串类型,FTP服务器上要移除的目录名称 |
返回:any
@@ -509,17 +578,18 @@ obj.Put(st,"put.txt",false);
#### 示例
```tsl
obj := CreateObject("FTP");
obj.host := "ftp.tinysoft.com.cn";
obj.port := 20;
obj.username := username;
obj.password := password;
//连接FTP服务器
obj := new FTP();
obj.host := "127.0.0.1";
obj.port := 42121;
obj.username := "tsl_user";
obj.password := "tsl_pass";
obj.passive := true;
obj.connect();
//登录
obj.Login();
obj.Remove("testDir");
//若删除成功,可在服务器中查看或使用FAQ:List 查看
obj.login();
obj.makeDir("tsl-remove-dir");
echo obj.removeDir("tsl-remove-dir"), "\n";
obj.abort();
// 输出:0
```
### `rename(source_file, dest_file)`
@@ -532,27 +602,36 @@ obj.Remove("testDir");
可见性:public
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| 参数 | 类型 | 说明 |
| ------------- | ------ | -------------------- |
| `source_file` | string | 字符串类型,源文件名 |
| `dest_file` | string | 字符串类型,新文件名 |
| `dest_file` | string | 字符串类型,新文件名 |
返回:any
#### 示例
```tsl
obj := CreateObject("FTP");
obj.host := "ftp.tinysoft.com.cn";
obj.port := 20;
obj.username := username;
obj.password := password;
//连接FTP服务器
filename := "/data/workspace/tmp/tsl-ftp-rename.txt";
pos := 0;
writeFile(rwRaw(), "", filename, pos, 5, "hello");
source := new TMemoryStream();
source.loadFromFile("", filename);
source.position := 0;
obj := new FTP();
obj.host := "127.0.0.1";
obj.port := 42121;
obj.username := "tsl_user";
obj.password := "tsl_pass";
obj.passive := true;
obj.connect();
//登录
obj.Login();
obj.rename("testDir","newDir");
//若重命名成功,可在服务器中查看或使用FAQ:List 查看
obj.login();
obj.put(source, "tsl-ftp-old.txt", false);
echo obj.rename("tsl-ftp-old.txt", "tsl-ftp-new.txt"), "\n";
obj.delete("tsl-ftp-new.txt");
obj.abort();
fileDelete("", filename);
// 输出:0
```
### `resumeSupported()`
@@ -577,10 +656,10 @@ obj.rename("testDir","newDir");
可见性:public
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `cmd` | string | 字符串类型,受到Options影响的命令 |
| `options` | string | 字符串类型,应用于FTP 会话的选项 |
| 参数 | 类型 | 说明 |
| --------- | ------ | --------------------------------- |
| `cmd` | string | 字符串类型,受到Options影响的命令 |
| `options` | string | 字符串类型,应用于FTP 会话的选项 |
返回:any
@@ -594,8 +673,8 @@ obj.rename("testDir","newDir");
可见性:public
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| 参数 | 类型 | 说明 |
| ---------- | ------ | ------------------------------- |
| `lang_tag` | string | 字符串类型,FTP客户端的语言标记 |
返回:any
@@ -610,10 +689,10 @@ obj.rename("testDir","newDir");
可见性:public
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `file_name` | string | 字符串类型,服务器上更新的文件名 |
| `local_time` | datetime | 时间类型,指定文件修改的时间值 |
| 参数 | 类型 | 说明 |
| ------------ | -------- | -------------------------------- |
| `file_name` | string | 字符串类型,服务器上更新的文件名 |
| `local_time` | datetime | 时间类型,指定文件修改的时间值 |
返回:any
@@ -627,10 +706,10 @@ obj.rename("testDir","newDir");
可见性:public
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `file_name` | string | 字符串类型,服务器上更新的文件名 |
| `gmt_time` | datetime | 时间类型,指定文件修改的时间值 |
| 参数 | 类型 | 说明 |
| ----------- | -------- | -------------------------------- |
| `file_name` | string | 字符串类型,服务器上更新的文件名 |
| `gmt_time` | datetime | 时间类型,指定文件修改的时间值 |
返回:any
@@ -644,8 +723,8 @@ obj.rename("testDir","newDir");
可见性:public
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| 参数 | 类型 | 说明 |
| --------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------- |
| `command` | string | 字符串类型,FTP服务器端命令名称。常常用来发发送没有包含在FTP协议中的服务器端命令。可以用HELP SITE命令查找指定FTP服务器的命令和语法信息 |
返回:any
@@ -660,26 +739,35 @@ obj.rename("testDir","newDir");
可见性:public
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `file_name` | any | file_name |
| 参数 | 类型 | 说明 |
| ----------- | ---- | --------- |
| `file_name` | any | file_name |
返回:int64
#### 示例
```tsl
obj := CreateObject("FTP");
obj.host := "ftp.tinysoft.com.cn";
obj.port := 20;
obj.username := username;
obj.password := password;
//连接FTP服务器
filename := "/data/workspace/tmp/tsl-ftp-size.txt";
pos := 0;
writeFile(rwRaw(), "", filename, pos, 5, "hello");
source := new TMemoryStream();
source.loadFromFile("", filename);
source.position := 0;
obj := new FTP();
obj.host := "127.0.0.1";
obj.port := 42121;
obj.username := "tsl_user";
obj.password := "tsl_pass";
obj.passive := true;
obj.connect();
//登录
obj.Login();
return obj.Size("test.txt");
//整数,18
obj.login();
obj.put(source, "tsl-ftp-size.txt", false);
echo obj.size("tsl-ftp-size.txt"), "\n";
obj.delete("tsl-ftp-size.txt");
obj.abort();
fileDelete("", filename);
// 输出:5
```
### `status(status_list)`
@@ -692,8 +780,8 @@ return obj.Size("test.txt");
可见性:public
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| 参数 | 类型 | 说明 |
| ------------- | ----------- | ------------------------------------------------ |
| `status_list` | TStringList | 字符串列表类型,服务器响应的连接、传输参数等状态 |
返回:any