PHP FTP函数

PHP ftp_fput() 函数从打开的本地文件上传并将其保存到 FTP 服务器上的文件。

语法

ftp_fput(ftp, server_file, open_file, 
          mode, offset) 

参数

ftp必需。 指定要使用的 FTP 连接。
server_file必需。 指定要上传到的服务器文件路径。
open_file必需。 指定打开的文件指针。读取在文件末尾停止。
mode可选。 指定传输模式。必须是 FTP_ASCII 或 FTP_BINARY。
offset可选。 指定远程文件中开始上传的位置。

返回值

成功则返回 true,失败时返回 false。

示例:

下面的示例显示了ftp_fput()函数的用法。

<?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";

    //服务器文件所在路径
    //需要上传的文件
    $server_file = "server_demo.txt";

    //本地打开文件指针
    $open_file = fopen("local_demo.txt", "w");
        
    //从打开的本地文件上传
    //保存到FTP服务器上的文件
    if (ftp_fput($ftp, $server_file, 
                 $open_file, FTP_ASCII)) {
      echo "Successfully uploaded $open_file\n";
    } else {
      echo "Error while uploading $open_file\n";
    }

    //关闭文件指针
    fclose($open_file);
    
  } 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
Successfully uploaded local_demo.txt
Connection closed successfully!