PHP 4, PHP 5, PHP 7, PHP 8
ftp_fput() 函数用于将一个打开的本地文件流上传到 FTP 服务器上的指定文件中。它是 ftp_put() 的流版本,适合于处理资源流而不是文件路径。
bool ftp_fput(resource $ftp_stream, string $remote_file, resource $handle, int $mode [, int $startpos = 0 ])
成功时返回 TRUE,失败时返回 FALSE。
下面示例展示了如何将本地文件以流的形式上传到 FTP 服务器:
$ftp_server = "ftp.example.com";
$ftp_user = "username";
$ftp_pass = "password";
$conn = ftp_connect($ftp_server);
if (!$conn) {
die("无法连接FTP服务器");
}
$login = ftp_login($conn, $ftp_user, $ftp_pass);
if (!$login) {
ftp_close($conn);
die("FTP登录失败");
}
$local_file = "localfile.txt";
$remote_file = "remotefile.txt";
$handle = fopen($local_file, "r");
if (!$handle) {
ftp_close($conn);
die("打开本地文件失败");
}
if (ftp_fput($conn, $remote_file, $handle, FTP_BINARY)) {
echo "文件上传成功!";
} else {
echo "文件上传失败。";
}
fclose($handle);
ftp_close($conn);
该示例首先连接并登录到 FTP 服务器,然后打开本地文件的只读流,调用 ftp_fput() 以二进制模式上传该文件流至 FTP 服务器指定路径。上传完成后关闭文件流和 FTP 连接。