burgess1109/file_package

此包已被弃用,不再维护。未建议替代包。

上传或下载文件

安装: 11

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 1

开放问题: 0

类型:项目

1.0.0 2016-10-17 10:50 UTC

This package is not auto-updated.

Last update: 2020-01-28 21:05:52 UTC


README

原因:Laravel 已经有强大的Storage处理文件上传/下载等作业,且支持ftp传输。但因项目需求,客户只开放使用sftp,故写了此package扩展了sftp功能

安装方式

  1. 切换到项目目录下,执行 composer require burgess1109/file_package:*

  2. 在 config/app.php 'providers'内加入 FilePackages\FilePackagesServiceProvider::class,

务必确认server已安装ssh2套件 (SSH安装方式)

环境参数(.env)

FILE_CONNECT:连接方式(sftp or ftp or local)

使用ftp or sftp 需加入以下参数

FILE_HOST:文件服务器IP

FILE_PORT : 文件服务器端口

FILE_USERNAME:文件服务器账号

FILE_PASSWORD:文件服务器密码

FILE_ROOT:上传目录

filesystems(config/filesystems.php )

1.修正default参数,让其获取环境参数

'default' => env('FILE_SERVER', 'local'),

2.'disks'内增加ftp disk,让Storage支持FTP

'ftp' => [

        'driver'   => 'ftp',
        
        'host' => env('FILE_HOST', 'localhost'),
        
        'username' => env('FILE_USERNAME', '預設帳號'),
        
        'password' => env('FILE_PASSWORD', '預設密碼'),

        // Optional FTP Settings...
        
        'port' => 21,
        
        'root' => env('FILE_ROOT', '上傳目錄'),
    ],

测试页面

提供测试页面 YourIP/file

使用方式

可参考 packages/FilePackages/src/FileController.php

  1. 获取文件列表

$directory='路径';

$FilePackages = new FilePackages($directory);

$files = $FilePackages->getList();

  1. 获取文件

$directory='<路径>';

$FilePackages = new FilePackages($directory);

$FilePackages->return_type='download';//返回类型, 直接下载:download 图片:jpg 视频:video

$FilePackages->file_name=<实际文件名>;

$FilePackages->show_name=<文件显示名称>;

return $FilePackages->getFile();

  1. 上传文件

$directory='<路径>';

$FilePackages = new FilePackages($directory);

$FilePackages->request_file=<文件上传request>;

$result=$FilePackages->postFile();

  1. 删除文件

$directory='路径';

$FilePackages = new FilePackages($directory);

$FilePackages->file_name='<删除的实际文件名>';

$result=$FilePackages->deleteFile();

  1. 删除文件夹

$directory='路径';

$FilePackages = new FilePackages($directory);

$FilePackages->floder='<文件夹名称>';

$result = $FilePackages->deleteFloder();