Rumah >pembangunan bahagian belakang >tutorial php >Pembangunan PHP: Gunakan Flysystem untuk melaksanakan pelbagai perkhidmatan storan awan

Pembangunan PHP: Gunakan Flysystem untuk melaksanakan pelbagai perkhidmatan storan awan

王林
王林asal
2023-06-15 22:43:242149semak imbas

Dengan pembangunan pengkomputeran awan dan storan awan, semakin ramai pembangun mula menggunakan storan awan untuk menyelesaikan masalah menyimpan dan menghantar data. Dalam pembangunan PHP, Flysystem ialah alat yang sangat berguna yang menyediakan API bersatu untuk menggunakan banyak perkhidmatan storan awan yang berbeza dengan mudah. Dalam artikel ini, kami akan menerangkan cara menggunakan Flysystem untuk melaksanakan berbilang perkhidmatan storan awan dan menunjukkan beberapa kod sampel untuk perkhidmatan yang berbeza.

Apakah Flysystem?

Flysystem ialah perpustakaan PHP untuk bekerja dengan sistem fail. Ia menyediakan satu set API yang membolehkan akses kepada sistem fail tempatan, FTP, SFTP, perkhidmatan storan awan seperti Amazon S3, Rackspace Cloud, OpenStack Object Storage, Dropbox dan Google Drive. Flysystem menyediakan API yang sangat mudah di mana anda boleh melaksanakan operasi biasa dengan cepat seperti muat naik fail, muat turun dan pemadaman.

Bagaimana untuk menggunakan Flysystem?

Untuk menggunakan Flysystem, anda perlu memasang pakej yang berkaitan melalui Composer. Flysystem boleh dipasang dengan arahan berikut:

composer require league/flysystem

Selepas pemasangan selesai, anda boleh mula menggunakan Flysystem Berikut adalah contoh penggunaan mudah:

use LeagueFlysystemFilesystem;
use LeagueFlysystemAdapterLocal;

$adapter = new Local(__DIR__.'/files');
$filesystem = new Filesystem($adapter);

$contents = $filesystem->read('hello.txt');

Dalam contoh ini, kami mencipta tempatan. Penyesuai sistem fail dan menggunakannya untuk mencipta objek sistem fail. Seterusnya, kami membaca kandungan fail bernama hello.txt melalui objek sistem fail.

Melaksanakan berbilang perkhidmatan storan awan

Untuk menggunakan Flysystem bagi melaksanakan berbilang perkhidmatan storan awan, anda perlu menggunakan penyesuai yang berbeza. Flysystem menyokong beberapa penyesuai berbeza, setiap satunya adalah bebas dan boleh digunakan dengan perkhidmatan storan awan yang berbeza.

Berikut ialah beberapa penyesuai biasa dan cara menggunakannya:

  • Penyesuai setempat: digunakan untuk mengakses sistem fail setempat.

    use LeagueFlysystemAdapterLocal;
    
    $adapter = new Local(__DIR__.'/files');
  • Penyesuai FTP: Digunakan untuk mengakses pelayan FTP.

    use LeagueFlysystemAdapterFtp;
    
    $config = [
      'host' => 'ftp.example.com',
      'username' => 'username',
      'password' => 'password',
      'root' => '/public_html/',
    ];
    
    $adapter = new Ftp($config);
  • Penyesuai SFTP: digunakan untuk mengakses pelayan SFTP.

    use LeagueFlysystemSftpSftpAdapter;
    
    $config = [
      'host' => 'sftp.example.com',
      'port' => 22,
      'username' => 'username',
      'password' => 'password',
      'root' => '/public_html/',
    ];
    
    $adapter = new SftpAdapter($config);
  • Penyesuai Amazon S3: Digunakan untuk mengakses Amazon S3.

    use AwsS3S3Client;
    use LeagueFlysystemAwsS3v3AwsS3Adapter;
    
    $client = new S3Client([
      'region' => 'us-west-2',
      'version' => 'latest',
      'credentials' => [
          'key'    => 'key',
          'secret' => 'secret',
      ],
    ]);
    
    $adapter = new AwsS3Adapter($client, 'bucket-name');
  • Penyesuai Awan Rackspace: Digunakan untuk mengakses Awan Rackspace.

    use OpenCloudRackspace;
    use LeagueFlysystemRackspaceRackspaceAdapter;
    
    $client = new Rackspace(Rackspace::US_IDENTITY_ENDPOINT, [
      'username' => 'username',
      'apiKey'   => 'apiKey',
    ]);
    
    $adapter = new RackspaceAdapter($client, 'container-name');
  • Penyesuai Storan Objek OpenStack: digunakan untuk mengakses Storan Objek OpenStack.

    use OpenCloudOpenStack;
    use LeagueFlysystemOpenStackOpenStackAdapter;
    
    $client = new OpenStack('https://identity.example.com/v2.0/', [
      'username' => 'username',
      'password' => 'password',
      'tenantName' => 'tenant-name',
    ]);
    
    $adapter = new OpenStackAdapter($client->objectStoreService(), 'container-name');
  • Penyesuai Kotak Dropbox: Digunakan untuk mengakses Dropbox.

    use KunnuDropboxDropbox;
    use LeagueFlysystemDropboxDropboxAdapter;
    
    $dropbox = new Dropbox([
      'access_token' => 'access-token',
      'client_identifier' => 'client-identifier', // Optional parameter
    ]);
    
    $adapter = new DropboxAdapter($dropbox);
  • Penyesuai Google Drive: Digunakan untuk mengakses Google Drive.

    use SpatieGoogleDriveClient;
    use SpatieFlysystemGoogleDriveGoogleDriveAdapter;
    
    $config = [
      'client_id' => 'client_id',
      'client_secret' => 'client_secret',
      'access_token' => 'access_token',
      'refresh_token' => 'refresh_token',
    ];
    
    $client = new Client($config);
    
    $adapter = new GoogleDriveAdapter($client);

Kesimpulan

Flysystem ialah perpustakaan PHP yang sangat praktikal yang boleh membantu kami melaksanakan pelbagai perkhidmatan storan awan dengan mudah. Sama ada anda mengakses sistem fail tempatan anda, FTP, SFTP, Amazon S3, Rackspace Cloud, OpenStack Object Storage, Dropbox atau Google Drive, anda boleh menggunakan Flysystem. Apabila membangunkan aplikasi PHP, menggunakan Flysystem boleh membantu kami melaksanakan muat naik fail, memuat turun, memadam dan operasi lain dengan pantas, dengan itu meningkatkan lagi kecekapan pembangunan.

Atas ialah kandungan terperinci Pembangunan PHP: Gunakan Flysystem untuk melaksanakan pelbagai perkhidmatan storan awan. 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