PHP
—
入门 PHP FTP 类的详解
本文为大家详细介绍了 PHP 的 FTP 介绍,供大家参考下
FTP 是一种文件传输协议,它支持两种模式,一种方式叫做 Standard (也就是 Active,主动方
式),
一种是 Passive (也就是 PASV,被动方式)
。 Standard
模式 FTP
的客户端发送 PORT 命令
到 FTP server。Passive 模式 FTP
的客户端发送 PASV
命令到 FTP Server。
下面介绍一个这两种方式的工作原理:
Standard 模式
FTP 客户端首先和 FTP Server 的 TCP 21
端口建立连接,通过这个通道 发送命令,客户端
需要接收数据的时候在这个通道上发送 PORT
命令。PORT
命令包含 了客户端用什么端口
接收数据。在传送数据的时候,服务器端通过自己的 TCP 20
端口发送数据。FTP server 必
须和客户端建立一个新的连接用来传送数据。
Passive 模式
在建立控制通道的时候和 Standard 模式类似,当客户端通过这个通道发送 PASV 命令的
时候,FTP server 打开一个位于 1024 和 5000
之间的随机端口并且通知 客户端在这个端口
上传送数据的请求,然后 FTP server 将通过这个端口进行数据的传送,这个时候 FTP
server 不再需要建立一个新的和客户端之间的连接。
使用 PHP 操作 FTP-用法
代码如下:
<?
// 联接 FTP
服务器
$conn
= ftp_connect(ftp.server.com);
// 使用 username 和 password
登录
ftp_login(
$conn
, “john”, “doe”);
//
获取远端系统类型
ftp_systype(
$conn
);
//
列示文件
$filelist
= ftp_nlist(
$conn
, “.”);
//
下载文件
ftp_get(
$conn
, “data.zip”, “data.zip”, FTP_BINARY);
//
关闭联接