junliuxian/ali-oss-storage

该包已被废弃,不再维护。作者建议使用 illusionist/flysystem-aliyun-oss 包。

支持 Laravel 5+ 的阿里云 OSS 文件系统存储

2.0.0 2018-01-31 04:40 UTC

This package is not auto-updated.

Last update: 2022-02-24 05:17:05 UTC


README

中文说明

本项目是基于 jacobcyl/Aliyun-oss-storage 2.0.4 优化的衍生版本。让它更好地支持 Lumen

安装

  • 使用 composer 快速安装

    • php 7.0 >=
    composer require junliuxian/ali-oss-storage:~2.0
    
    • php 5.5 >=
    composer require junliuxian/ali-oss-storage:~1.0
    
  • 在你的 config/filesystems.php 中,将 config/oss.php 拷贝到 disks 数组

    'disks' => [
        // ... 
        
        'oss'   => [
            // config/oss.php
        ]
    ]
    
  • 然后在 config/filesystems.php 中设置默认驱动

    'default' => 'oss'
    
  • 注册服务提供者

    • laravel: 在你的 config/app.php 中添加以下行到 providers 数组

      'providers' => [
          // ... 
          Junliuxian\AliOSS\AliOssServiceProvider::class,
      ]
      
    • lumen: 在你的 bootstrap/app.php 中添加以下行

      $app->register(Junliuxian\AliOSS\AliOssServiceProvider::class);
      

配置

名称 类型 描述
access_id 字符串 阿里云 OSS AccessKeyId
access_key 字符串 阿里云 OSS AccessKeySecret
bucket 字符串 阿里云 OSS 存储桶名称
endpoint 字符串 阿里云 OSS 公网节点或自定义外域名
endpoint_internal 字符串 阿里云 OSS 内网节点
prefix 字符串 路径前缀
domain 字符串 自定义域名绑定
ssl 布尔值 启用或禁用 SSL
debug 布尔值 是否开启调试模式

API

Storage::disk('oss'); // if default filesystems driver is oss, you can skip this step

//fetch all files of specified bucket(see upond configuration)
Storage::files($directory);
Storage::allFiles($directory);

Storage::put('path/to/file/file.jpg', $contents); //first parameter is the target file path, second paramter is file content
Storage::putFile('path/to/file/file.jpg', 'local/path/to/local_file.jpg'); // upload file from local path

Storage::get('path/to/file/file.jpg'); // get the file object by path
Storage::exists('path/to/file/file.jpg'); // determine if a given file exists on the storage(OSS)
Storage::size('path/to/file/file.jpg'); // get the file size (Byte)
Storage::lastModified('path/to/file/file.jpg'); // get date of last modification

Storage::directories($directory); // Get all of the directories within a given directory
Storage::allDirectories($directory); // Get all (recursive) of the directories within a given directory

Storage::copy('old/file1.jpg', 'new/file1.jpg');
Storage::move('old/file1.jpg', 'new/file1.jpg');
Storage::rename('path/to/file1.jpg', 'path/to/file2.jpg');

Storage::prepend('file.log', 'Prepended Text'); // Prepend to a file.
Storage::append('file.log', 'Appended Text'); // Append to a file.

Storage::delete('file.jpg');
Storage::delete(['file1.jpg', 'file2.jpg']);

Storage::makeDirectory($directory); // Create a directory.
Storage::deleteDirectory($directory); // Recursively delete a directory.It will delete all files within a given directory, SO Use with caution please.

// upgrade logs
// new plugin for v2.0 version
Storage::putRemoteFile('target/path/to/file/jacob.jpg', 'http://example.com/jacob.jpg'); //upload remote file to storage by remote url
// new function for v2.0.1 version
Storage::url('path/to/img.jpg') // get the file url

文档

更多开发细节请查看 阿里云 OSS DOC

许可证

源代码在 MIT 许可证下发布。阅读 LICENSE 文件获取更多信息。