anchu / ftp
一个简单的 Laravel 7 ftp 服务提供者
Requires
- php: >=5.4.0
- illuminate/support: ^5.0|^6.0|^7.0
README
一个简单的 Laravel 5/6/7 ftp 服务提供者。
对于 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_ASCII
或FTP_BINARY
。如果未指定模式,将执行自动模式解析。
downloadFile($fileFrom, $fileTo, $mode)
从 FTP 服务器下载文件
$fileFrom
: 远程文件路径。$fileTo
: 本地文件路径(如果文件已存在,将被覆盖)或存储数据的打开文件指针。- .
$mode
: 传输模式。必须是FTP_ASCII
或FTP_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
:远程文件。