这是一个关于如何允许 fopen() 覆盖 FTP 站点上的文件的示例。如果未修改流上下文,则会发生错误:“…无法打开流:远程文件已存在并且未指定覆盖上下文选项…”。
<?php
// FTP 文件的路径,包括登录参数
$ftp_path = 'ftp://username:[email protected]/example.txt';
// 允许覆盖远程 FTP 服务器上已存在的文件
$stream_options = array('ftp' => array('overwrite' => true));
// 使用定义的选项创建流上下文资源
$stream_context = stream_context_create($stream_options);
// 以写入模式打开文件并将其截断为零长度
if ($fh = fopen($ftp_path, 'w', 0, $stream_context))
{
// 将内容写入文件
fputs($fh, 'example contents');
// 关闭文件句柄
fclose($fh);
}
else
{
die('Could not open file.');
}
?>