FTP 和 FTPS
PHP 3,PHP 4。自 PHP 4.3.0 起支持 ftps://
ftp://example.com/pub/file.txt
ftp://user:password@example.com/pub/file.txt
ftps://example.com/pub/file.txt
ftps://user:password@example.com/pub/file.txt
允许对已有文件进行只读访问以及通过 FTP 建立新文件。如果服务器不支持被动模式的
ftp,则连接会失败。
可以用读或者写的方式打开文件,但不能同时是读写。如果 ftp
服务器上已经存在远程文件而你试图用写的方式打开但又没有指定
overwrite 的上下文选项,则连接会失败。如果你想通过
ftp 更新已有的文件,则在上下文中指定
overwrite 选项并用写的方式打开。还可以用
FTP 扩展。
追加文件:
自 PHP 5.0.0 起可以通过
ftp:// url 协议来追加文件。在之前的版本试图通过
ftp:// 来追加文件会导致失败。
ftps:// 是 PHP 4.3.0
引进的。它和 ftp:// 相同,但是尝试和
ftp 服务器建立一个安全连接。如果服务器不支持 SSL,则会返回一个普通的未加密的
ftp 连接。
注:
自 PHP 4.3.0 起开始支持
FTPS,需要在编译时加入 OpenSSL 的支持。
表格 J-3. Wrapper Summary
属性 | 支持 |
---|
Restricted by allow_url_fopen. | Yes |
Allows Reading | Yes |
Allows Writing |
Yes (Prior to PHP 5.0.0: new files only.
PHP 5.0.0 and later: overwrite allowed
with context option)
|
Allows Appending | Yes (PHP 5.0.0 or later) |
Allows Simultaneous Reading and Writing | No |
Supports stat() | No |
Supports unlink() | Yes (PHP 5.0.0 or later) |
表格 J-4. 上下文选项(自 PHP 5.0 起)
名称 | 用法 | 默认值 |
---|
overwrite | 允许覆盖远程服务器上已存在的文件。仅适用于写入模式(上传)。 | FALSE(禁用) |
resume_pos | 开始传输的文件偏移量。仅适用于读取模式(下载)。 | 0(文件头) |
底层套接字流上下文选项(Underlying socket stream context options):
有可能通过底层传输(underlying transport)支持附加的上下文选项。对于
ftp:// 流,参考
tcp:// 传输的上下文选项。对于
ftps:// 流,参考
ssl:// 传输的上下文选项。