Giter Club home page Giter Club logo

flysystem-upyun's Introduction

Latest Stable Version Total Downloads Latest Unstable Version composer.lock License

已支持到 php >= 8.2, laravel 10.x

Requirement

  • PHP >= 5.5.9

安装

直接可以通过 composer 来安装:

$ composer require "zencodex/flysystem-upyun"

使用

1. 直接使用

use League\Flysystem\Filesystem;
use ZenCodex\Support\Flysystem\Adapter\UpyunAdapter

$config => [
    'driver'        => 'upyun',
    'bucket'        => '', // 服务名字
    'operator'      => '', // 操作员的名字
    'password'      => '', // 操作员的密码
    'domain'        => '', // 服务分配的域名
    'protocol'      => 'https', // 服务使用的协议,如需使用 http,在此配置 http
];

$adapter = new UpyunAdapter((object)$config);

// 或在 Laravel 中获取 $adapter
$adapter = Storage::disk('upyun')->getAdapter();

$adapter->write('file.md', 'contents');
$adapter->writeStream('file.md', fopen('path/to/your/local/file.jpg', 'r'));

$adapter->rename('foo.md', 'bar.md');
$adapter->copy('foo.md', 'foo2.md');
$adapter->delete('file.md');
$adapter->getUrl('/path/foo/bar/file.md');

$adapter->fileExists('file.md');
$adapter->directoryExists('path/to/dir');
$adapter->read('file.md');

// ...
// $adapter 详细调用方法可参考: src/Adapter/UpyunAdapter.php

// $clientHandler 为 Upyun::class, 直接调用 Upyun 内的方法
$clientHandler = $adapter->getClientHandler();
$clientHandler->purge($remoteUrl);
$clientHandler->usage();

2. 在 Laravel 中使用

1)、config/app.php 中添加 UpyunServiceProvider:

'providers' => [
    // ...
    ZenCodex\Support\Flysystem\UpyunServiceProvider::class,
],

2)、config/filesystems.phpdisks 中添加下面的配置:

'disks' => [
    // ...

    'upyun' => [
        'driver'        => 'upyun',
        'bucket'        => env('UPYUN_BUCKET', ''),// 服务名字
        'operator'      => env('UPYUN_OPERATOR_NAME', ''), // 操作员的名字
        'password'      => env('UPYUN_OPERATOR_PASSWORD', ''), // 操作员的密码
        'domain'        => env('UPYUN_DOMAIN', ''), // 服务分配的域名
        'protocol'     => 'https', // 服务使用的协议,如需使用 http,在此配置 http
    ]
]

3)、Laravel Storage 标准 API 调用

$disk = Storage::disk('upyun');

$disk->write('file.md', 'contents');
$disk->writeStream('file.md', fopen('path/to/your/local/file.jpg', 'r'));

$disk->rename('foo.md', 'bar.md');
$disk->copy('foo.md', 'foo2.md');
$disk->delete('file.md');

$disk->fileExists('file.md');
$disk->directoryExists('path/to/dir');
$disk->read('file.md');

$disk->listContents();
$disk->fileSize('file.md');
$disk->mimeType('file.md');
$disk->url('/path/foo/bar/file.md');

flysystem-upyun's People

Contributors

zencodex avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

yyrcn hiccup711

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.