anchu/ftp

一个简单的 Laravel 7 ftp 服务提供者

v2.0.4 2020-11-07 14:08 UTC

This package is auto-updated.

Last update: 2024-09-07 22:38:58 UTC


README

一个简单的 Laravel 5/6/7 ftp 服务提供者。

Latest Stable Version Build Status Quality Total Downloads License

对于 Laravel 4.x,请查看 v1.0.0

安装

将包添加到您的 composer.json 文件中,并运行 composer update

{
    "require": {
        "anchu/ftp": "~2.0"
    }
}

如果您正在使用 Laravel 5.5+,则可以跳过下一步,因为 Laravel 会自动发现包。

config/app.php 文件中添加服务提供者

'Anchu\Ftp\FtpServiceProvider',

配置

运行 php artisan vendor:publish --tag=config 并修改配置文件(config/ftp.php)以添加您的 ftp 连接。

您可以使用以下语法添加动态 FTP 连接

Config::set('ftp.connections.key', array(
           'host'   => '',
           'username' => '',
           'password'   => '',
           'passive'   => false,
           'secure'   => false,
));

访问连接

您可以通过 FTP::connection 方法访问默认 FTP 连接

FTP::connection()->getDirListing(...);

在使用多个连接时,您可以通过传递连接名称来访问每个特定的 ftp 连接

FTP::connection('foo')->getDirListing(...);

有时您可能需要重新连接到某个 ftp

FTP::reconnect('foo');

如果您需要从某个 ftp 断开连接,请使用断开连接方法

FTP::disconnect('foo');

基本用法示例

// With custom connection
$listing = FTP::connection('my-ftp-connection')->getDirListing();

// with default connection
$listing = FTP::connection()->getDirListing();
$status = FTP::connection()->makeDir('directory-name');

支持的方法

getDirListing($directory, $parameters )

返回给定目录中的文件列表

  • $directory: 要列出的目录。默认值: .
  • $parameters: 可选参数,用于在目录前添加。例如: -la。默认: null

getDirListingDetailed($directory)

以关联数组的形式返回给定目录中的文件列表,以下键:权利,编号,用户,组,大小,月份,日期和时间

  • $directory: 要列出的目录。默认值: .

makeDir($directory)

在 FTP 服务器上创建指定的目录。

  • $directory: 要创建的目录的名称。

changeDir($directory)

更改 FTP 服务器上的当前目录。

  • $directory: 目标目录。

uploadFile($fileFrom, $fileTo, $mode)

将本地文件上传到 FTP 服务器。

  • $fileFrom: 本地文件路径。
  • $fileTo: 远程文件路径。
  • $mode: 传输模式。必须是 FTP_ASCIIFTP_BINARY。如果未指定模式,将执行自动模式解析。

downloadFile($fileFrom, $fileTo, $mode)

从 FTP 服务器下载文件

  • $fileFrom: 远程文件路径。
  • $fileTo: 本地文件路径(如果文件已存在,将被覆盖)或存储数据的打开文件指针。
  • .
  • $mode: 传输模式。必须是 FTP_ASCIIFTP_BINARY。如果未指定模式,将执行自动模式解析。

readFile($fileFrom)

downloadFile() 方法相同,除了它将远程文件下载到 PHP 输出缓冲区并返回它。

  • $fileFrom: 远程文件路径。

moveUp()

更改到父目录。

permission($mode, $filename)

设置文件上的权限。

  • $mode: 新权限,作为八进制值给出。
  • $filename: 远程文件。

delete($path)

从 FTP 服务器删除指定路径的文件。

  • $path: 要删除的文件。

currentDir()

返回当前目录名

rename($oldName, $newName)

在 FTP 服务器上重命名文件或目录。

  • $oldName: 旧文件/目录名。
  • $newName: 新名称。

removeDir($directory, $recursive)

删除目录

  • $directory:要删除的目录。这必须是绝对路径或相对路径指向一个空目录。
  • $recursive:递归删除文件夹。默认值:false。

truncateDir($directory)

截断目录

  • $directory:要截断的目录。这必须是绝对路径或相对路径指向一个目录。

size($remoteFile)

返回给定文件的大小(以字节为单位)。注意:并非所有服务器都支持此功能。

  • $remoteFile:远程文件。

time($remoteFile)

返回给定文件的最后修改时间。注意:并非所有服务器都支持此功能。

  • $remoteFile:远程文件。