Download the PHP package kaibatech/viettel-cloud-s3 without Composer

On this page you can find all versions of the php package kaibatech/viettel-cloud-s3. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package viettel-cloud-s3

Viettel Cloud Object Storage - Laravel Storage Driver

Latest Version on Packagist Total Downloads License

A Laravel Storage driver for Viettel Cloud Object Storage and other VIPCore/EMC ViPR S3-compatible endpoints that have signature compatibility issues with the standard AWS SDK for PHP.

✨ Features

🚀 Installation

Install the package via Composer:

Laravel Auto-Discovery

The package uses Laravel's auto-discovery feature, so the service provider will be registered automatically.

For Laravel versions that don't support auto-discovery, add the service provider to your config/app.php:

Publish Configuration (Optional)

If you want to customize the configuration, publish the config file:

⚙️ Configuration

Add a new disk to your config/filesystems.php:

Environment Variables

Add these variables to your .env file:

Alternative: Use Existing AWS Environment Variables

If you're migrating from AWS S3, you can reuse your existing environment variables:

📖 Usage

Basic File Operations

File Upload with Form Validation

Batch Operations

Working with Streams

File Metadata

🔧 Advanced Configuration

Custom User Agent

The driver uses a default user agent viettel-cloud-s3/1.0 callback. This is configured in the adapter and matches the working signature requirements.

File Visibility and ACL

⚠️ VIPCore Limitation: While the driver correctly sends ACL headers, VIPCore/EMC ViPR may not support anonymous public access like AWS S3. Files may still require authentication regardless of the ACL setting.

Error Handling

🏗️ How It Works

The Problem

Standard AWS SDK for PHP calculates signatures differently than what VIPCore/EMC ViPR S3-compatible services expect, causing SignatureDoesNotMatch errors.

The Solution

This package provides a custom Flysystem adapter that:

  1. Manually calculates AWS v4 signatures using the exact format expected by VIPCore
  2. Forces UNSIGNED-PAYLOAD content hash (required by VIPCore)
  3. Uses direct cURL requests bypassing AWS SDK signature issues
  4. Implements proper header formatting based on working examples

Key Components

🔒 Security

🧪 Testing

After installation, you can test the integration with a simple script:

🐛 Troubleshooting

Common Issues

1. SignatureDoesNotMatch Error

2. File Upload Fails

3. File URLs Don't Work

4. Large File Uploads

Debug Mode

Enable debug logging in your Laravel application to see detailed request/response information:

Check storage/logs/laravel.log for detailed error information.

📋 Requirements

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📝 License

This package is open-sourced software licensed under the MIT license.

🏢 Support

🎯 Roadmap


🎉 Happy coding with Viettel Cloud Object Storage!


All versions of viettel-cloud-s3 with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
illuminate/support Version ^10.0|^11.0|^12.0
illuminate/filesystem Version ^10.0|^11.0|^12.0
league/flysystem Version ^3.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package kaibatech/viettel-cloud-s3 contains the following files

Loading the files please wait ...