FTP

FTP 功能由 ginkgo\Ftp 类完成,FTP 全称 File Transfer Protocol,即文件传输协议,是用于在网络上进行文件传输的一套标准协议。


定义服务器

可以通过配置文件定义

  1. 'var_extra' => array(
  2. 'ftp' => array(
  3. 'host' => '', // 服务器
  4. 'port' => 21, // 端口
  5. 'user' => '', // 用户名
  6. 'pass' => '', // 密码
  7. 'path' => '', // 远程路径
  8. 'pasv' => 'off', // 被动模式
  9. ),
  10. ...
  11. ),

也可以在实例化 FTP 类时定义

  1. $config = array(
  2. 'host' => '', // 服务器
  3. 'port' => 21, // 端口
  4. 'user' => '', // 用户名
  5. 'pass' => '', // 密码
  6. 'path' => '', // 远程路径
  7. 'pasv' => 'off', // 被动模式
  8. );
  9. $ftp = Ftp::instance($config);

优先级:初始化定义 > 配置文件定义


连接服务器

init 方法可快捷的连接并登录服务器

  1. $ftp->init();

connect 方法可连接服务器

  1. $ftp->connect();

login 方法可登录服务器

  1. $ftp->login();

基本操作

默认所有操作均为相对目录,即系统会自动在路径前加上配置中所定义的远程路径。下列方法中的 $abs 参数可以定义。true 为绝对路径,false 为相对路径。

  • 列出文件和目录

    1. $ftp = Ftp::instance();
    2. $lists = $ftp->dirList('./image', $abs);
  • 创建文件夹

    1. $ftp->dirMk('./image', $abs);
  • 删除目录

    1. $ftp->dirDelete('./dir', $abs);
  • 上传文件

    1. $ftp->fileUpload($local, $remote, $abs, $mod);
    1. local 本地服务器路径
    2. remote 远程服务器路径
    3. abs 是否绝对路径
    4. mod 传输模式,只能为 FTP_ASCII(文本模式)或 FTP_BINARY(二进制模式)
  • 删除文件

    1. $ftp->fileDelete('./src.txt', $abs);