FTP 函数
简介
FTP 函数可以帮助实现客户机与服务器之间标准文件传送协议(FTP)的规范进行文件传送。FTP 的详细定义参见 » https://www.faqs.org/rfcs/rfc959。此扩展库用来使运行的脚本对 FTP 服务器进行广泛的控制。如果只想在一个 FTP 服务器上读写文件,考虑使用文件系统函数中的 ftp:// wrapper,它提供了简单和更直观的接口。
需求
要编译本扩展模块无需外部库文件。
安装
要使用这些 FTP 相关函数,在编译的时候请添加 --enable-ftp 选项(PHP4或以上版本)或者 --with-ftp(PHP3版本)。
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 以后版本中被加入。
范例
Example#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);
?>
Table of Contents
- ftp_alloc — Allocates space for a file to be uploaded
- ftp_cdup — 切换到当前目录的父目录
- ftp_chdir — 在 FTP 服务器上改变当前目录
- ftp_chmod — Set permissions on a file via FTP
- ftp_close — 关闭一个 FTP 连接
- ftp_connect — 建立一个新的 FTP 连接
- ftp_delete — 删除 FTP 服务器上的一个文件
- ftp_exec — 请求运行一条 FTP 命令
- ftp_fget — 从 FTP 服务器上下载一个文件并保存到本地一个已经打开的文件中
- ftp_fput — 上传一个已经打开的文件到 FTP 服务器
- ftp_get_option — 返回当前 FTP 连接的各种不同的选项设置
- ftp_get — 从 FTP 服务器上下载一个文件
- ftp_login — 登录 FTP 服务器
- ftp_mdtm — 返回指定文件的最后修改时间
- ftp_mkdir — 建立新目录
- ftp_nb_continue — 连续获取/发送文件(non-blocking)
- ftp_nb_fget — Retrieves a file from the FTP server and writes it to an open file (non-blocking)
- ftp_nb_fput — Stores a file from an open file to the FTP server (non-blocking)
- ftp_nb_get — 从 FTP 服务器上获取文件并写入本地文件(non-blocking)
- ftp_nb_put — 存储一个文件至 FTP 服务器(non-blocking)
- ftp_nlist — 返回给定目录的文件列表
- ftp_pasv — 返回当前 FTP 被动模式是否打开
- ftp_put — 上传文件到 FTP 服务器
- ftp_pwd — 返回当前目录名
- ftp_quit — ftp_close 的别名
- ftp_raw — Sends an arbitrary command to an FTP server
- ftp_rawlist — 返回指定目录下文件的详细列表
- ftp_rename — 更改 FTP 服务器上的文件或目录名
- ftp_rmdir — 删除一个目录
- ftp_set_option — 设置各种 FTP 运行时选项
- ftp_site — 向服务器发送 SITE 命令
- ftp_size — 返回指定文件的大小
- ftp_ssl_connect — Opens an Secure SSL-FTP connection
- ftp_systype — 返回远程 FTP 服务器的系统类型