laravel上传文件FTP驱动配置

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以下位置添加服务提供商: Anchu\Ftp\FtpServiceProvider::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_ASCIIFTP_BINARY。如果没有指定模式,自动模式分辨率将被完成。

downloadFile($ fileFrom,$ fileTo,$ mode)

从FTP服务器下载文件

  • $fileFrom:远程文件路径。
  • $fileTo:本地文件路径(如果文件已存在,将被覆盖)或我们存储数据的打开的文件指针。
  • $mode:传输模式。必须是FTP_ASCIIFTP_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

 

posted @ 2018-03-06 14:59  生如逆旅,一苇以航  阅读(2117)  评论(0编辑  收藏  举报