FTP驱动配置 Laravel 的文件系统集成了 FTP 操作,不过,框架默认的配置文件 filesystems.php 并没有提供示例配置。如果你需要配置一个FTP文件系统,可以使用以下示例配置: 'ftp' => [ 'driver' => 'ftp', 'host' => 'ftp.example.com', 'username' => 'your-username', 'password' => 'your-password', // Optional FTP Settings... // 'port' => 21, // 'root' => '', // 'passive' => true, // 'ssl' => true, // 'timeout' => 30, ],
上面提供的是通过操作config/filesystems.php文件的ftp驱动。
第二种是FTP驱动配置,是对laravel进行FTP扩展:
1.打开laravel框架 composer.json 文件 在 "require" 中添加 "anchu/ftp": "~2.0" ,运行composer update ,
2.在config/app.php
以下位置添加服务提供商: AnchuFtpFtpServiceProvider::class,
3.运行 php artisan vendor:publish 生产ftp.php 文件 在这个文件修改ftp链接配置
4.控制器 直接调用 ftp 使用类 例如 :use FTP;
使用方法 :
$ status = FTP :: connection() - > makeDir( ' directory-name '); 详细请看下文
5.config/ftp.php文件配置第一个ftp账号:
'connections' => array(
'connection1' => array(
'host' => '196.168.1.108', //此地方需要改成ftp站点绑定的域名
'port' => 21, //改成自己的
'username' => 'miniapp', //改成自己的
'password' => '123456', //改成自己的
'passive' => false, //改成自己的
),
),
6.控制器中调用FTP方法:
Ftp::connection('connection1')->makeDir("123")
此方法会在FTP账号下面生成123文件夹
支持的方法
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
:远程文件路径。
提升()
对父目录的更改。
权限($ mode,$ filename)
设置文件的权限。
$mode
:新的权限,以八进制值给出。$filename
:远程文件。
delete($ path)
从FTP服务器删除由路径指定的文件。
$path
:要删除的文件。
currentDir()
返回当前目录名
重命名($ oldName,$ newName)
重命名FTP服务器上的文件或目录。
$oldName
:旧文件/目录名称。$newName
:新名字
removeDir($ directory,$ recursive)
删除目录
$directory
:要删除的目录。这必须是空目录的绝对路径或相对路径。$recursive
:递归删除文件夹。默认值:false。
truncateDir($ directory)
截断目录
$directory
:要截断的目录。这必须是目录的绝对路径或相对路径。
size($ remoteFile)
以字节为单位返回给定文件的大小。 Note: Not all servers support this feature.
$remoteFile
:远程文件。
time($ remoteFile)
返回给定文件的最后修改时间 Note: Not all servers support this feature.
$remoteFile
:远程文件。
原文地址:http://blog.csdn.net/hg421/article/details/66971290
第二种ftp的优秀文章:
https://laravel-china.org/topics/269/as-a-project-driven-rookie-share-two-package-laravel-ftp-remote-ftp-and-intervention-image-image-processing