ftp://

ftps://

ftp:// -- ftps://访问 FTP(s) URL

描述

允许通过 FTP 读取现有文件和创建新文件。如果服务器不支持被动模式 ftp,连接将失败。

您可以打开文件以进行读取或写入,但不能同时进行。如果远程文件已存在于 ftp 服务器上,并且您尝试以写入方式打开它但未指定上下文选项 overwrite,则连接将失败。如果您需要通过 ftp 覆盖现有文件,请在上下文中指定 overwrite 选项并以写入方式打开文件。或者,您可以使用 FTP 扩展

如果您已在 php.ini 中设置了 from 指令,则此值将作为匿名 FTP 密码发送。

用法

选项

包装器摘要
属性 支持
allow_url_fopen 限制
允许读取
允许写入 是(新文件/带有 overwrite 的现有文件)
允许追加
允许同时读取和写入
支持 stat() filesize(), filemtime(), filetype(), file_exists(), is_file()is_dir() 元素仅限。
支持 unlink()
支持 rename()
支持 mkdir()
支持 rmdir()

注意

注意:

FTPS 仅在启用了 openssl 扩展时才受支持。

如果服务器不支持 SSL,则连接会回退到普通的未加密 ftp。

注意: 追加
可以通过 ftp:// URL 包装器追加文件。

添加说明

用户贡献说明 3 条说明

-9
php at f00n dot com
20 年前
出于 Intranet 的目的,我发现我更喜欢通过 ftp 函数移动我的文件,以匹配会话用户的 ftp 帐户并将文件放在一个暂存区,这样我就能知道是谁发来的。

如果您的 ftp 服务器不支持被动模式,FTP 包装器方法将无法执行此操作。

例如。NAT/路由后面的 ftp 服务器
-15
匿名
18 年前
<?
$str ="替换所有大陆";
$filew="ftp://gufo:[email protected]:21/jj.php";
$opts = array('ftp' => array('overwrite' => true));
$context = stream_context_create($opts);
$strwri = file_put_contents($filew,$str,LOCK_EX,$context);
?>
-15
fazil dot stormhammer dot nospam at gmail dot com
16 年前
文档中写道“允许通过 FTP 读取现有文件和创建新文件。如果服务器不支持被动模式 ftp,连接将失败。"

从版本 5.2.5 开始,至少 fopen("ftp://...") 默认使用主动模式连接(它发出 FTP PORT 命令,但不会发出 PASV 命令)。要强制被动模式

$f = fopen("ftp://...");
ftp_pasv($f, true);
To Top