PHP FTP函数

PHP ftp_set_option() 函数设置指定 FTP 连接的运行时选项。

语法

ftp_set_option(ftp, option, value) 

参数

ftp必需。 指定要使用的 FTP 连接。
option必需。 指定要设置的运行时选项。可能的选项有:
  • FTP_TIMEOUT_SEC - 更改用于所有网络相关功能的超时时间(以秒为单位)。 必须是大于 0 的整数。默认超时为 90 秒。
  • FTP_AUTOSEEK - 启用后,GET 或 PUT 请求 offset 参数将首先查找文件中请求的位置。默认情况下启用此功能。
  • FTP_USEPASVADDRESS - 当设置为 false 时,PHP 将忽略 FTP 服务器响应 PASV 命令而返回的 IP 地址,而是使用该 IP 地址在 ftp_connect() 中提供。
value必需。 指定option参数的值。

返回值

如果可以设置该选项则返回 true,否则为 false。如果不支持该选项或传递的值与给定选项的预期值不匹配,则会抛出警告消息。

示例:

下面的示例显示了ftp_set_option()函数。

<?php
//要使用的FTP服务器
$ftp_server = "ftp.example.com";

//FTP 连接的用户名
$ftp_user = "user";
  
//用户密码
$ftp_pass = "password";
   
//建立连接或者连接失败
$ftp = ftp_connect($ftp_server)
    or die("Could not connect to $ftp_server");
   
if($ftp) {
  echo "Successfully connected to $ftp_server!\n";
 
  //尝试登录
  if(@ftp_login($ftp, $ftp_user, $ftp_pass)) {
    echo "Connected as $ftp_user@$ftp_server\n";

    //设置ftp连接的超时值
    ftp_set_option($ftp, FTP_TIMEOUT_SEC, 120);

    //显示ftp连接超时
    echo "FTP_TIMEOUT_SEC : "
         .ftp_get_option($ftp, FTP_TIMEOUT_SEC)."\n";
         
  } else {
    echo "Couldn't connect as $ftp_user\n";
  }
 
  //关闭连接
  if(ftp_close($ftp)) {
    echo "Connection closed successfully!\n"; 
  } 
}
?> 

上述代码的输出将是:

Successfully connected to ftp.example.com!
Connected as user@ftp.example.com
FTP_TIMEOUT_SEC : 120
Connection closed successfully!