Rumah >pembangunan bahagian belakang >tutorial php >Cara menyimpan dan mengurus fail menggunakan PHP dan Amazon S3

Cara menyimpan dan mengurus fail menggunakan PHP dan Amazon S3

WBOY
WBOYasal
2023-06-19 14:34:421845semak imbas

Dengan perkembangan pesat teknologi pengkomputeran awan, semakin banyak syarikat dan individu mula menyimpan data dalam awan. Amazon S3 (Amazon Simple Storage Service) ialah salah satu perkhidmatan storan awan yang terkenal dalam industri Ia menyediakan penyelesaian storan yang fleksibel, boleh dipercayai, selamat dan mudah digunakan. Artikel ini akan memperkenalkan cara menyimpan dan mengurus fail menggunakan PHP dan Amazon S3.

Langkah 1: Buat akaun Amazon S3 dan baldi (Bucket)

Untuk menggunakan perkhidmatan Amazon S3, anda perlu membuat akaun Amazon Web Services (AWS) dahulu, dan kemudian buat baldi (Bucket), digunakan untuk menyimpan fail. Apabila membuat baldi, terdapat beberapa tetapan penting yang perlu diberi perhatian:

  1. Tetapkan nama baldi, yang mesti unik kerana nama baldi Amazon S3 adalah unik di seluruh dunia.
  2. Tetapkan kawasan baldi dan pilih kawasan berbeza mengikut lokasi geografi akses data, yang boleh meningkatkan kelajuan dan kebolehpercayaan akses.
  3. Tetapkan kebenaran akses baldi Anda boleh memilih kebenaran baca dan tulis awam atau kebenaran akses baca dan tulis peribadi untuk memastikan keselamatan data.

Langkah 2: Pasang AWS PHP SDK

AWS PHP SDK ialah kit pembangunan perisian Perkhidmatan Web Amazon untuk bahasa PHP Ia menyediakan banyak API berpakej untuk membolehkan pembangun perkhidmatan AWS boleh digunakan dengan mudah. Sebelum anda mula membangun, anda perlu memasang dan mengkonfigurasi AWS PHP SDK. Untuk kaedah khusus, sila rujuk dokumentasi rasmi AWS.

Langkah 3: Muat naik fail ke Amazon S3

Menggunakan modul S3 AWS PHP SDK, anda boleh memuat naik fail ke Amazon S3. Berikut ialah contoh kod PHP mudah untuk memuat naik fail:

<?php
require 'vendor/autoload.php'; //引入AWS PHP SDK

use AwsS3S3Client;
use AwsS3ExceptionS3Exception;

//设置访问参数
$bucket = 'my-bucket';
$keyname = 'example-object.txt';
$body = 'Hello World!';

try {
    //创建S3客户端
    $s3 = new S3Client([
        'version' => 'latest',
        'region' => 'us-west-2',
        'credentials' => [
            'key'    => 'ACCESS_KEY',
            'secret' => 'SECRET_KEY',
        ],
    ]);

    //上传文件到桶
    $result = $s3->putObject([
        'Bucket' => $bucket,
        'Key' => $keyname,
        'Body' => $body,
        'ACL' => 'public-read',
    ]);

    //打印上传结果
    echo "Object URL: " . $result['ObjectURL'] . PHP_EOL;
} catch (S3Exception $e) {
    //出错时打印错误消息
    echo $e->getMessage() . PHP_EOL;
}

Dalam kod di atas, parameter seperti nama baldi, nama fail dan kandungan pertama kali ditetapkan, kemudian klien S3 dicipta, dan akhirnya kaedah putObject digunakan untuk memuat naik fail ke dalam tong. Antaranya, parameter ACL menetapkan kebenaran akses fail Di sini, fail ditetapkan kepada kebenaran baca awam, yang boleh diakses oleh sesiapa sahaja. Jika anda mahukan kawalan kebenaran yang lebih terperinci, anda boleh melaraskan parameter ACL mengikut keperluan khusus.

Langkah 4: Muat turun fail daripada Amazon S3

Anda juga boleh menggunakan modul S3 AWS PHP SDK untuk memuat turun fail daripada Amazon S3. Berikut ialah contoh kod PHP mudah untuk memuat turun fail:

<?php
require 'vendor/autoload.php'; //引入AWS PHP SDK

use AwsS3S3Client;
use AwsS3ExceptionS3Exception;

//设置访问参数
$bucket = 'my-bucket';
$keyname = 'example-object.txt';

try {
    //创建S3客户端
    $s3 = new S3Client([
        'version' => 'latest',
        'region' => 'us-west-2',
        'credentials' => [
            'key'    => 'ACCESS_KEY',
            'secret' => 'SECRET_KEY',
        ],
    ]);

    //从桶中下载文件
    $result = $s3->getObject([
        'Bucket' => $bucket,
        'Key' => $keyname,
    ]);

    //打印文件内容
    echo $result['Body'];
} catch (S3Exception $e) {
    //出错时打印错误消息
    echo $e->getMessage() . PHP_EOL;
}

Dalam kod di atas, parameter seperti nama baldi dan nama fail ditetapkan, dan kemudian klien S3 dicipta, menggunakan kaedah getObject untuk memuat turun fail daripada baldi, dan Cetak kandungan fail. Jika anda ingin memuat turun fail ke sistem fail tempatan, anda boleh menggunakan kaedah muat turunObject yang disediakan oleh SDK.

Langkah 5: Urus fail

Amazon S3 menyediakan pelbagai fungsi untuk mengurus fail, seperti menyenaraikan fail dalam baldi, memadam fail, menyalin fail, dsb. Begitu juga, anda juga boleh menggunakan modul S3 AWS PHP SDK untuk melaksanakan fungsi ini. Berikut ialah contoh kod PHP yang menyenaraikan semua fail dalam baldi:

<?php
require 'vendor/autoload.php'; //引入AWS PHP SDK

use AwsS3S3Client;
use AwsS3ExceptionS3Exception;

//设置访问参数
$bucket = 'my-bucket';

try {
    //创建S3客户端
    $s3 = new S3Client([
        'version' => 'latest',
        'region' => 'us-west-2',
        'credentials' => [
            'key'    => 'ACCESS_KEY',
            'secret' => 'SECRET_KEY',
        ],
    ]);

    //列出桶中所有文件
    $results = $s3->listObjects([
        'Bucket' => $bucket,
    ]);

    //打印每个文件的信息
    foreach ($results['Contents'] as $object) {
        echo $object['Key'] . PHP_EOL;
        echo $object['LastModified'] . PHP_EOL;
        echo $object['Size'] . PHP_EOL;
    }
} catch (S3Exception $e) {
    //出错时打印错误消息
    echo $e->getMessage() . PHP_EOL;
}

Dalam kod di atas, parameter seperti nama baldi ditetapkan, dan kemudian klien S3 dicipta, menggunakan kaedah listObjects untuk senaraikan semua fail dalam baldi, dan Cetak maklumat tentang setiap fail. Jika anda ingin memadam fail atau menyalin fail, anda boleh menggunakan kaedah seperti deleteObject dan copyObject.

Ringkasan

Melalui pengenalan artikel ini, anda kini tahu cara menggunakan PHP dan Amazon S3 untuk menyimpan dan mengurus fail. Dalam pembangunan sebenar, kami juga boleh menggunakan fungsi lain yang disediakan oleh AWS PHP SDK mengikut keperluan khusus, seperti memuat naik folder ke baldi, menetapkan peraturan kitaran hayat, dsb. Akhir sekali, adalah disyorkan agar anda membaca dokumentasi rasmi AWS secara terperinci untuk mengetahui butiran lanjut.

Atas ialah kandungan terperinci Cara menyimpan dan mengurus fail menggunakan PHP dan Amazon S3. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn