PHP FTP 学习笔记

1. 简介

FTP (File Transfer Protocol) 是一种用于文件传输的标准网络协议,PHP 中提供了许多函数来操作 FTP 服务器,例如连接 FTP 服务器、上传和下载文件、删除文件等。

2. 连接 FTP 服务器

连接 FTP 服务器需要使用 PHP 的 ftp_connect() 函数,该函数的原型如下:

Copy Code
resource ftp_connect(string $host[, int $port = 21[, int $timeout = 90]])

其中,host参数是FTP服务器的地址,host 参数是 FTP 服务器的地址,port 参数是 FTP 服务端口号,默认为 21。$timeout 参数是连接超时时间,默认为 90 秒。

连接 FTP 服务器的示例代码如下:

phpCopy Code
$conn = ftp_connect("ftp.example.com"); if (!$conn) { die("FTP 连接失败"); }

3. 登录 FTP 服务器

连接 FTP 服务器成功后,需要使用 FTP 账号进行登录。可以使用 PHP 的 ftp_login() 函数来登录 FTP 服务器,该函数的原型如下:

Copy Code
bool ftp_login(resource $conn, string $username, string $password)

其中,conn参数是连接FTP服务器成功后返回的连接资源,conn 参数是连接 FTP 服务器成功后返回的连接资源,username 参数是 FTP 账号的用户名,$password 参数是 FTP 账号的密码。

登录 FTP 服务器的示例代码如下:

phpCopy Code
if (ftp_login($conn, "username", "password")) { echo "登录 FTP 服务器成功"; } else { echo "登录 FTP 服务器失败"; }

4. 上传文件到 FTP 服务器

使用 PHP 的 ftp_put() 函数可以将本地文件上传到 FTP 服务器上,该函数的原型如下:

Copy Code
bool ftp_put(resource $conn, string $remote_file, string $local_file[, int $mode = FTP_IMAGE[, int $startpos = 0]])

其中,conn参数是连接FTP服务器成功后返回的连接资源,conn 参数是连接 FTP 服务器成功后返回的连接资源,remote_file 参数是 FTP 服务器上的远程文件名,localfile参数是本地待上传的文件名,local_file 参数是本地待上传的文件名,mode 参数指定传输模式,默认为二进制模式,$startpos 参数指定从本地文件的哪个位置开始上传,默认为 0。

上传文件到 FTP 服务器的示例代码如下:

phpCopy Code
if (ftp_put($conn, "/remote/path/to/file", "/local/path/to/file")) { echo "文件上传成功"; } else { echo "文件上传失败"; }

5. 下载 FTP 服务器上的文件

使用 PHP 的 ftp_get() 函数可以将 FTP 服务器上的文件下载到本地,该函数的原型如下:

Copy Code
bool ftp_get(resource $conn, string $local_file, string $remote_file[, int $mode = FTP_IMAGE[, int $resumepos = 0]])

其中,conn参数是连接FTP服务器成功后返回的连接资源,conn 参数是连接 FTP 服务器成功后返回的连接资源,remote_file 参数是 FTP 服务器上的远程文件名,localfile参数是本地保存的文件名,local_file 参数是本地保存的文件名,mode 参数指定传输模式,默认为二进制模式,$resumepos 参数指定从 FTP 服务器上哪个位置开始下载,默认为 0。

下载 FTP 服务器上的文件的示例代码如下:

phpCopy Code
if (ftp_get($conn, "/local/path/to/file", "/remote/path/to/file")) { echo "文件下载成功"; } else { echo "文件下载失败"; }

6. 删除 FTP 服务器上的文件

使用 PHP 的 ftp_delete() 函数可以删除 FTP 服务器上的文件,该函数的原型如下:

Copy Code
bool ftp_delete(resource $conn, string $path)

其中,conn参数是连接FTP服务器成功后返回的连接资源,conn 参数是连接 FTP 服务器成功后返回的连接资源,path 参数是 FTP 服务器上的文件路径。

删除 FTP 服务器上的文件的示例代码如下:

phpCopy Code
if (ftp_delete($conn, "/remote/path/to/file")) { echo "文件删除成功"; } else { echo "文件删除失败"; }

7. 关闭 FTP 连接

最后需要关闭与 FTP 服务器的连接,使用 PHP 的 ftp_close() 函数即可,该函数的原型如下:

Copy Code
bool ftp_close(resource $conn)

其中,$conn 参数是连接 FTP 服务器成功后返回的连接资源。

关闭 FTP 连接的示例代码如下:

phpCopy Code
ftp_close($conn); echo "FTP 连接已关闭";

8. 总结

以上就是 PHP 操作 FTP 服务器的常用函数及其示例代码。使用这些函数,我们可以在 PHP 中轻松地实现与 FTP 服务器的交互操作,包括连接、登录、上传、下载和删除文件等。