background image

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); 

 

// 

 

关闭联接