PHP ftp_nb_fget() 函数
示例
从 FTP 服务器下载文件并保存到打开的本地文件(非阻塞)
<?php
// 连接并登录到 FTP 服务器
$ftp_server = "ftp.example.com";
$ftp_conn = ftp_connect($ftp_server) or die("无法连接到 $ftp_server");
$login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);
$server_file = "somefile.txt";
// 打开本地文件以写入
$local_file = "local.txt";
$fp = fopen($local_file,"w");
// 初始化下载
$d = ftp_nb_fget($ftp_conn, $fp, $server_file, FTP_BINARY)
while ($d == FTP_MOREDATA)
{
// 做你想做的任何事
// 继续下载
$d = ftp_nb_continue($ftp_conn);
}
if ($d != FTP_FINISHED)
{
echo "下载 $server_file 错误";
exit(1);
}
// 关闭连接和文件句柄
ftp_close($ftp_conn);
fclose($fp);
?>
定义和用法
ftp_nb_fget() 函数从 FTP 服务器获取(下载)文件,并将其保存到打开的本地文件(非阻塞)。
提示: 此函数(与 ftp_fget() 相反)异步检索文件,因此您可以在下载文件时执行其他操作。
语法
ftp_nb_fget(ftp_conn, open_file, server_file, mode, startpos);
参数值
参数 | 描述 |
---|---|
ftp_conn | 必需。指定要使用的 FTP 连接 |
open_file | 必需。指定我们要存储数据的打开的本地文件 |
server_file | 必需。指定要下载的服务器文件 |
mode | 可选。指定传输模式。可能的值:FTP_ASCII 或 FTP_BINARY |
startpos | 可选。指定从远程文件中的哪个位置开始下载。 |
技术细节
返回值 | 以下值之一
|
---|---|
PHP 版本 | 4.3+ |
PHP 变更日志 | PHP 7.3 - mode 参数变为可选。 |
❮ PHP FTP 参考