PHP 手册
后退 |  | 前进

# XLI. FTP 函数

# 简介

FTP 函数可以帮助实现客户机与服务器之间标准文件传送协议（FTP）的规范进行文件传送。FTP 的详细定义参见 http://www.faqs.org/rfcs/rfc959。此扩展库用来使运行的脚本对 FTP 服务器进行广泛的控制。如果只想在一个 FTP 服务器上读写文件，考虑使用文件系统函数中的 ftp:// wrapper，它提供了简单和更直观的接口。

# 需求

要编译本扩展模块不需要外部库文件。

# 安装

In order to use FTP functions with your PHP configuration, you should add the --enable-ftp option when installing PHP 4 or greater or --with-ftp when using PHP 3.

PHP 的 Windows 版本已经内置该扩展模块的支持。无需加载任何附加扩展库即可使用这些函数。

# 运行时配置

本扩展模块在 `php.ini` 中未定义任何配置选项。

# 资源类型

在 FTP 模块中使用了一种资源类型，该资源类型为 FTP 的连接句柄，由函数 ftp_connect() 或 ftp_ssl_connect() 产生。

# 预定义常量

以下常量由本扩展模块定义，因此只有在本扩展模块被编译到 PHP 中，或者在运行时被动态加载后才有效。

`FTP_ASCII` (integer)

`FTP_TEXT` (integer)

`FTP_BINARY` (integer)

`FTP_IMAGE` (integer)

`FTP_TIMEOUT_SEC` (integer)

  参考函数 ftp_set_option()。

下列变量在 PHP 4.3.0 以后版本中被加入。

`FTP_AUTOSEEK` (integer)

  参考函数 ftp_set_option()。

`FTP_AUTORESUME` (integer)

  为 GET 和 PUT 请求自动决定恢复和开始的位置 (只能工作在 FTP_AUTOSEEK 打开的情况下)

`FTP_FAILED` (integer)

  异步传输失败

`FTP_FINISHED` (integer)

  异步传输成功

`FTP_MOREDATA` (integer)

  异步传输是活动状态的

# 范例

例子 1. FTP 例子

`<?php
// set up basic connection
$conn_id = ftp_connect($ftp_server);
// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// check connection
if ((!$conn_id) || (!$login_result)) {
echo "FTP connection has failed!";
echo "Attempted to connect to $ftp_server for user $ftp_user_name";
exit;
} else {
echo "Connected to $ftp_server, for user $ftp_user_name";
}
// upload the file
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);
// check upload status
if (!$upload) {
echo "FTP upload has failed!";
} else {
echo "Uploaded $source_file to $ftp_server as $destination_file";
}
// close the FTP stream
ftp_close($conn_id);
?>`

后退 | 起点 | 前进
fbsql_warnings | 上一级 | ftp_alloc