Di mana file php harus disimpan?

Laravel menyediakan abstraksi sistem file yang kuat berkat paket Flysystem PHP yang luar biasa oleh Frank de Jonge. Integrasi Laravel Flysystem menyediakan driver sederhana untuk bekerja dengan sistem file lokal, SFTP, dan Amazon S3. Lebih baik lagi, sangat mudah untuk beralih di antara opsi penyimpanan ini antara mesin pengembangan lokal Anda dan server produksi karena API tetap sama untuk setiap sistem

Konfigurasi

File konfigurasi sistem file Laravel terletak di

'username' => env('FTP_USERNAME'),

'password' => env('FTP_PASSWORD'),

// Optional FTP Settings...

// 'port' => env('FTP_PORT', 21),

// 'root' => env('FTP_ROOT'),

5. Di dalam file ini, Anda dapat mengonfigurasi semua "disk" sistem file Anda. Setiap disk mewakili driver penyimpanan dan lokasi penyimpanan tertentu. Contoh konfigurasi untuk setiap driver yang didukung disertakan dalam file konfigurasi sehingga Anda dapat mengubah konfigurasi untuk mencerminkan preferensi dan kredensial penyimpanan Anda

Driver

'username' => env('FTP_USERNAME'),

'password' => env('FTP_PASSWORD'),

// Optional FTP Settings...

// 'port' => env('FTP_PORT', 21),

// 'root' => env('FTP_ROOT'),

6 berinteraksi dengan file yang disimpan secara lokal di server yang menjalankan aplikasi Laravel sementara driver

'username' => env('FTP_USERNAME'),

'password' => env('FTP_PASSWORD'),

// Optional FTP Settings...

// 'port' => env('FTP_PORT', 21),

// 'root' => env('FTP_ROOT'),

7 digunakan untuk menulis ke layanan penyimpanan cloud S3 Amazon

Catatan Anda dapat mengonfigurasi disk sebanyak yang Anda suka dan bahkan mungkin memiliki banyak disk yang menggunakan pengandar yang sama

Sopir Lokal

Saat menggunakan driver

'username' => env('FTP_USERNAME'),

'password' => env('FTP_PASSWORD'),

// Optional FTP Settings...

// 'port' => env('FTP_PORT', 21),

// 'root' => env('FTP_ROOT'),

_6, semua operasi file relatif terhadap direktori

'username' => env('FTP_USERNAME'),

'password' => env('FTP_PASSWORD'),

// Optional FTP Settings...

// 'port' => env('FTP_PORT', 21),

// 'root' => env('FTP_ROOT'),

9 yang ditentukan dalam file konfigurasi

composer require league/flysystem-sftp-v3 "^3.0"

0 Anda. Secara default, nilai ini disetel ke direktori

composer require league/flysystem-sftp-v3 "^3.0"

1. Oleh karena itu, metode berikut akan menulis ke

composer require league/flysystem-sftp-v3 "^3.0"

2

use Illuminate\Support\Facades\Storage;

Storage::disk('local')->put('example.txt', 'Contents');

_

Disk Publik

Disk

composer require league/flysystem-sftp-v3 "^3.0"

_3 yang disertakan dalam file konfigurasi

composer require league/flysystem-sftp-v3 "^3.0"

0 aplikasi Anda dimaksudkan untuk file yang akan dapat diakses publik. Secara default, disk

composer require league/flysystem-sftp-v3 "^3.0"

_3 menggunakan driver

'username' => env('FTP_USERNAME'),

'password' => env('FTP_PASSWORD'),

// Optional FTP Settings...

// 'port' => env('FTP_PORT', 21),

// 'root' => env('FTP_ROOT'),

6 dan menyimpan file-nya di

composer require league/flysystem-sftp-v3 "^3.0"

7

Agar file ini dapat diakses dari web, Anda harus membuat tautan simbolis dari

composer require league/flysystem-sftp-v3 "^3.0"

8 hingga

composer require league/flysystem-sftp-v3 "^3.0"

7. Memanfaatkan konvensi folder ini akan menyimpan file Anda yang dapat diakses publik dalam satu direktori yang dapat dengan mudah dibagikan di seluruh penerapan saat menggunakan sistem penerapan tanpa henti seperti Envoyer

Untuk membuat tautan simbolik, Anda dapat menggunakan perintah

'host' => env('SFTP_HOST'),

// Settings for basic authentication...

'username' => env('SFTP_USERNAME'),

'password' => env('SFTP_PASSWORD'),

// Settings for SSH key based authentication with encryption password...

'privateKey' => env('SFTP_PRIVATE_KEY'),

'passphrase' => env('SFTP_PASSPHRASE'),

// Optional SFTP Settings...

// 'hostFingerprint' => env('SFTP_HOST_FINGERPRINT'),

// 'passphrase' => env('SFTP_PASSPHRASE'),

// 'port' => env('SFTP_PORT', 22),

// 'root' => env('SFTP_ROOT', ''),

0 Artisan

Setelah file disimpan dan tautan simbolis telah dibuat, Anda dapat membuat URL ke file tersebut menggunakan bantuan

'host' => env('SFTP_HOST'),

// Settings for basic authentication...

'username' => env('SFTP_USERNAME'),

'password' => env('SFTP_PASSWORD'),

// Settings for SSH key based authentication with encryption password...

'privateKey' => env('SFTP_PRIVATE_KEY'),

'passphrase' => env('SFTP_PASSPHRASE'),

// Optional SFTP Settings...

// 'hostFingerprint' => env('SFTP_HOST_FINGERPRINT'),

// 'passphrase' => env('SFTP_PASSPHRASE'),

// 'port' => env('SFTP_PORT', 22),

// 'root' => env('SFTP_ROOT', ''),

1

echo asset('storage/file.txt');

Anda dapat mengonfigurasi tautan simbolis tambahan di file konfigurasi

composer require league/flysystem-sftp-v3 "^3.0"

0 Anda. Setiap tautan yang dikonfigurasi akan dibuat saat Anda menjalankan perintah

'host' => env('SFTP_HOST'),

// Settings for basic authentication...

'username' => env('SFTP_USERNAME'),

'password' => env('SFTP_PASSWORD'),

// Settings for SSH key based authentication with encryption password...

'privateKey' => env('SFTP_PRIVATE_KEY'),

'passphrase' => env('SFTP_PASSPHRASE'),

// Optional SFTP Settings...

// 'hostFingerprint' => env('SFTP_HOST_FINGERPRINT'),

// 'passphrase' => env('SFTP_PASSPHRASE'),

// 'port' => env('SFTP_PORT', 22),

// 'root' => env('SFTP_ROOT', ''),

0

public_path('storage') => storage_path('app/public'),

public_path('images') => storage_path('app/images'),

Prasyarat Pengemudi

Konfigurasi Driver S3

Sebelum menggunakan driver S3, Anda perlu menginstal paket Flysystem S3 melalui manajer paket Composer

composer require league/flysystem-aws-s3-v3 "^3.0"

Informasi konfigurasi driver S3 terletak di file konfigurasi

'username' => env('FTP_USERNAME'),

'password' => env('FTP_PASSWORD'),

// Optional FTP Settings...

// 'port' => env('FTP_PORT', 21),

// 'root' => env('FTP_ROOT'),

5 Anda. File ini berisi contoh susunan konfigurasi untuk driver S3. Anda bebas memodifikasi larik ini dengan konfigurasi dan kredensial S3 Anda sendiri. Demi kenyamanan, variabel lingkungan ini cocok dengan konvensi penamaan yang digunakan oleh AWS CLI

Konfigurasi Driver FTP

Sebelum menggunakan driver FTP, Anda harus menginstal paket FTP Flysystem melalui manajer paket Composer

composer require league/flysystem-ftp "^3.0"

Integrasi Flysystem Laravel bekerja sangat baik dengan FTP; . Jika Anda perlu mengonfigurasi sistem file FTP, Anda dapat menggunakan contoh konfigurasi di bawah ini

'username' => env('FTP_USERNAME'),

'password' => env('FTP_PASSWORD'),

// Optional FTP Settings...

// 'port' => env('FTP_PORT', 21),

// 'root' => env('FTP_ROOT'),

Konfigurasi Driver SFTP

Sebelum menggunakan driver SFTP, Anda perlu menginstal paket Flysystem SFTP melalui pengelola paket Composer

composer require league/flysystem-sftp-v3 "^3.0"

Integrasi Flysystem Laravel bekerja sangat baik dengan SFTP; . Jika Anda perlu mengonfigurasi sistem file SFTP, Anda dapat menggunakan contoh konfigurasi di bawah ini

'host' => env('SFTP_HOST'),

// Settings for basic authentication...

'username' => env('SFTP_USERNAME'),

'password' => env('SFTP_PASSWORD'),

// Settings for SSH key based authentication with encryption password...

'privateKey' => env('SFTP_PRIVATE_KEY'),

'passphrase' => env('SFTP_PASSPHRASE'),

// Optional SFTP Settings...

// 'hostFingerprint' => env('SFTP_HOST_FINGERPRINT'),

// 'passphrase' => env('SFTP_PASSPHRASE'),

// 'port' => env('SFTP_PORT', 22),

// 'root' => env('SFTP_ROOT', ''),

Sistem File Cakupan & Hanya-Baca

Scoped disk memungkinkan Anda untuk menentukan sistem file di mana semua jalur secara otomatis diawali dengan awalan jalur yang diberikan. Sebelum membuat disk sistem file yang dicakup, Anda perlu menginstal paket Flysystem tambahan melalui pengelola paket Komposer

composer require league/flysystem-path-prefixing "^3.0"

Anda dapat membuat instance dengan cakupan jalur dari setiap disk sistem file yang ada dengan menentukan disk yang menggunakan driver

'host' => env('SFTP_HOST'),

// Settings for basic authentication...

'username' => env('SFTP_USERNAME'),

'password' => env('SFTP_PASSWORD'),

// Settings for SSH key based authentication with encryption password...

'privateKey' => env('SFTP_PRIVATE_KEY'),

'passphrase' => env('SFTP_PASSPHRASE'),

// Optional SFTP Settings...

// 'hostFingerprint' => env('SFTP_HOST_FINGERPRINT'),

// 'passphrase' => env('SFTP_PASSPHRASE'),

// 'port' => env('SFTP_PORT', 22),

// 'root' => env('SFTP_ROOT', ''),

7. Misalnya, Anda dapat membuat disk yang mencakup disk

'username' => env('FTP_USERNAME'),

'password' => env('FTP_PASSWORD'),

// Optional FTP Settings...

// 'port' => env('FTP_PORT', 21),

// 'root' => env('FTP_ROOT'),

7 Anda yang sudah ada ke awalan jalur tertentu, lalu setiap operasi file yang menggunakan disk lingkup Anda akan menggunakan awalan yang ditentukan

'prefix' => 'path/to/videos',

Disk "Hanya-baca" memungkinkan Anda membuat disk sistem file yang tidak mengizinkan operasi tulis. Sebelum menggunakan opsi konfigurasi

'host' => env('SFTP_HOST'),

// Settings for basic authentication...

'username' => env('SFTP_USERNAME'),

'password' => env('SFTP_PASSWORD'),

// Settings for SSH key based authentication with encryption password...

'privateKey' => env('SFTP_PRIVATE_KEY'),

'passphrase' => env('SFTP_PASSPHRASE'),

// Optional SFTP Settings...

// 'hostFingerprint' => env('SFTP_HOST_FINGERPRINT'),

// 'passphrase' => env('SFTP_PASSPHRASE'),

// 'port' => env('SFTP_PORT', 22),

// 'root' => env('SFTP_ROOT', ''),

_9, Anda perlu menginstal paket Flysystem tambahan melalui manajer paket Composer

echo asset('storage/file.txt');

_0

Selanjutnya, Anda dapat menyertakan opsi konfigurasi

'host' => env('SFTP_HOST'),

// Settings for basic authentication...

'username' => env('SFTP_USERNAME'),

'password' => env('SFTP_PASSWORD'),

// Settings for SSH key based authentication with encryption password...

'privateKey' => env('SFTP_PRIVATE_KEY'),

'passphrase' => env('SFTP_PASSPHRASE'),

// Optional SFTP Settings...

// 'hostFingerprint' => env('SFTP_HOST_FINGERPRINT'),

// 'passphrase' => env('SFTP_PASSPHRASE'),

// 'port' => env('SFTP_PORT', 22),

// 'root' => env('SFTP_ROOT', ''),

_9 dalam satu atau lebih susunan konfigurasi disk Anda

Sistem File yang Kompatibel dengan Amazon S3

Secara default, file konfigurasi

composer require league/flysystem-sftp-v3 "^3.0"

0 aplikasi Anda berisi konfigurasi disk untuk disk

'username' => env('FTP_USERNAME'),

'password' => env('FTP_PASSWORD'),

// Optional FTP Settings...

// 'port' => env('FTP_PORT', 21),

// 'root' => env('FTP_ROOT'),

7. Selain menggunakan disk ini untuk berinteraksi dengan Amazon S3, Anda dapat menggunakannya untuk berinteraksi dengan layanan penyimpanan file apa pun yang kompatibel dengan S3 seperti MiniO atau DigitalOcean Spaces

Biasanya, setelah memperbarui kredensial disk agar sesuai dengan kredensial layanan yang akan Anda gunakan, Anda hanya perlu memperbarui nilai opsi konfigurasi

composer require league/flysystem-path-prefixing "^3.0"

3. Nilai opsi ini biasanya ditentukan melalui variabel lingkungan

composer require league/flysystem-path-prefixing "^3.0"

4

echo asset('storage/file.txt');

_1

MiniO

Agar integrasi Sistem Terbang Laravel menghasilkan URL yang tepat saat menggunakan MinIO, Anda harus menentukan variabel lingkungan

composer require league/flysystem-path-prefixing "^3.0"

5 sehingga cocok dengan URL lokal aplikasi Anda dan menyertakan nama bucket di jalur URL

echo asset('storage/file.txt');

_2

Peringatan
Membuat URL penyimpanan sementara melalui metode

composer require league/flysystem-path-prefixing "^3.0"

6 tidak didukung saat menggunakan MiniO

Mendapatkan Instans Disk

Fasad

composer require league/flysystem-path-prefixing "^3.0"

_7 dapat digunakan untuk berinteraksi dengan salah satu disk yang Anda konfigurasikan. Misalnya, Anda dapat menggunakan metode

composer require league/flysystem-path-prefixing "^3.0"

_8 pada fasad untuk menyimpan avatar pada disk default. Jika Anda memanggil metode pada fasad

composer require league/flysystem-path-prefixing "^3.0"

_7 tanpa terlebih dahulu memanggil metode

'prefix' => 'path/to/videos',

0, metode tersebut akan secara otomatis diteruskan ke disk default

echo asset('storage/file.txt');

_3

Jika aplikasi Anda berinteraksi dengan banyak disk, Anda dapat menggunakan metode

'prefix' => 'path/to/videos',

0 pada fasad

composer require league/flysystem-path-prefixing "^3.0"

7 untuk bekerja dengan file pada disk tertentu

echo asset('storage/file.txt');

_4

Disk Sesuai Permintaan

Terkadang Anda mungkin ingin membuat disk saat runtime menggunakan konfigurasi tertentu tanpa konfigurasi tersebut benar-benar ada di file konfigurasi

composer require league/flysystem-sftp-v3 "^3.0"

0 aplikasi Anda. Untuk melakukannya, Anda dapat meneruskan larik konfigurasi ke metode

composer require league/flysystem-path-prefixing "^3.0"

7 fasad

'prefix' => 'path/to/videos',

5

echo asset('storage/file.txt');

_5

Mengambil File

Metode

'prefix' => 'path/to/videos',

_6 dapat digunakan untuk mengambil isi file. Isi string mentah dari file akan dikembalikan oleh metode. Ingat, semua jalur file harus ditentukan relatif terhadap lokasi "root" disk

echo asset('storage/file.txt');

_6

Metode

'prefix' => 'path/to/videos',

_7 dapat digunakan untuk menentukan apakah ada file di disk

echo asset('storage/file.txt');

_7

Metode

'prefix' => 'path/to/videos',

_8 dapat digunakan untuk menentukan apakah file hilang dari disk

echo asset('storage/file.txt');

_8

Mengunduh File

Metode

'prefix' => 'path/to/videos',

_9 dapat digunakan untuk menghasilkan respons yang memaksa browser pengguna untuk mengunduh file di jalur yang diberikan. Metode

'prefix' => 'path/to/videos',

_9 menerima nama file sebagai argumen kedua untuk metode, yang akan menentukan nama file yang dilihat oleh pengguna yang mengunduh file. Terakhir, Anda dapat meneruskan array header HTTP sebagai argumen ketiga ke metode

echo asset('storage/file.txt');

_9

File URL

Anda dapat menggunakan metode

echo asset('storage/file.txt');

_01 untuk mendapatkan URL untuk file tertentu. Jika Anda menggunakan driver

'username' => env('FTP_USERNAME'),

'password' => env('FTP_PASSWORD'),

// Optional FTP Settings...

// 'port' => env('FTP_PORT', 21),

// 'root' => env('FTP_ROOT'),

6, ini biasanya hanya menambahkan

echo asset('storage/file.txt');

03 ke jalur yang diberikan dan mengembalikan URL relatif ke file. Jika Anda menggunakan driver

'username' => env('FTP_USERNAME'),

'password' => env('FTP_PASSWORD'),

// Optional FTP Settings...

// 'port' => env('FTP_PORT', 21),

// 'root' => env('FTP_ROOT'),

_7, URL jarak jauh yang memenuhi syarat akan dikembalikan

public_path('storage') => storage_path('app/public'),

public_path('images') => storage_path('app/images'),

0

Saat menggunakan driver

'username' => env('FTP_USERNAME'),

'password' => env('FTP_PASSWORD'),

// Optional FTP Settings...

// 'port' => env('FTP_PORT', 21),

// 'root' => env('FTP_ROOT'),

6, semua file yang harus dapat diakses publik harus ditempatkan di direktori

composer require league/flysystem-sftp-v3 "^3.0"

7. Selanjutnya, Anda harus di

composer require league/flysystem-sftp-v3 "^3.0"

_8 yang menunjuk ke direktori

composer require league/flysystem-sftp-v3 "^3.0"

7

Peringatan
Saat menggunakan driver

'username' => env('FTP_USERNAME'),

'password' => env('FTP_PASSWORD'),

// Optional FTP Settings...

// 'port' => env('FTP_PORT', 21),

// 'root' => env('FTP_ROOT'),

6, nilai pengembalian

echo asset('storage/file.txt');

01 tidak disandikan URL. Untuk alasan ini, kami sarankan untuk selalu menyimpan file Anda menggunakan nama yang akan membuat URL yang valid

URL sementara

Menggunakan metode

composer require league/flysystem-path-prefixing "^3.0"

_6, Anda dapat membuat URL sementara ke file yang disimpan menggunakan driver

'username' => env('FTP_USERNAME'),

'password' => env('FTP_PASSWORD'),

// Optional FTP Settings...

// 'port' => env('FTP_PORT', 21),

// 'root' => env('FTP_ROOT'),

7. Metode ini menerima jalur dan contoh

echo asset('storage/file.txt');

13 yang menentukan kapan URL harus kedaluwarsa

public_path('storage') => storage_path('app/public'),

public_path('images') => storage_path('app/images'),

1

Jika Anda perlu menentukan tambahan , Anda dapat meneruskan larik parameter permintaan sebagai argumen ketiga ke metode

composer require league/flysystem-path-prefixing "^3.0"

6

public_path('storage') => storage_path('app/public'),

public_path('images') => storage_path('app/images'),

2

Jika Anda perlu menyesuaikan cara pembuatan URL sementara untuk disk penyimpanan tertentu, Anda dapat menggunakan metode

echo asset('storage/file.txt');

15. Misalnya, ini berguna jika Anda memiliki pengontrol yang memungkinkan Anda mengunduh file yang disimpan melalui disk yang biasanya tidak mendukung URL sementara. Biasanya, metode ini harus dipanggil dari metode ________18______16 penyedia layanan

public_path('storage') => storage_path('app/public'),

public_path('images') => storage_path('app/images'),

3

Kustomisasi Host URL

Jika Anda ingin menentukan sebelumnya host untuk URL yang dihasilkan menggunakan fasad

composer require league/flysystem-path-prefixing "^3.0"

7, Anda dapat menambahkan opsi

echo asset('storage/file.txt');

01 ke larik konfigurasi disk

public_path('storage') => storage_path('app/public'),

public_path('images') => storage_path('app/images'),

4

File Metadata

Selain membaca dan menulis file, Laravel juga dapat memberikan informasi tentang file itu sendiri. Misalnya, metode

echo asset('storage/file.txt');

_19 dapat digunakan untuk mendapatkan ukuran file dalam byte

public_path('storage') => storage_path('app/public'),

public_path('images') => storage_path('app/images'),

5

Metode

echo asset('storage/file.txt');

_20 mengembalikan stempel waktu UNIX terakhir kali file diubah

public_path('storage') => storage_path('app/public'),

public_path('images') => storage_path('app/images'),

6

Jenis MIME dari file tertentu dapat diperoleh melalui metode

echo asset('storage/file.txt');

21

public_path('storage') => storage_path('app/public'),

public_path('images') => storage_path('app/images'),

7

Jalur File

Anda dapat menggunakan metode

echo asset('storage/file.txt');

_22 untuk mendapatkan jalur untuk file tertentu. Jika Anda menggunakan driver

'username' => env('FTP_USERNAME'),

'password' => env('FTP_PASSWORD'),

// Optional FTP Settings...

// 'port' => env('FTP_PORT', 21),

// 'root' => env('FTP_ROOT'),

_6, ini akan mengembalikan jalur absolut ke file. Jika Anda menggunakan driver

'username' => env('FTP_USERNAME'),

'password' => env('FTP_PASSWORD'),

// Optional FTP Settings...

// 'port' => env('FTP_PORT', 21),

// 'root' => env('FTP_ROOT'),

_7, metode ini akan mengembalikan jalur relatif ke file di bucket S3

public_path('storage') => storage_path('app/public'),

public_path('images') => storage_path('app/images'),

8

Menyimpan File

Metode

composer require league/flysystem-path-prefixing "^3.0"

_8 dapat digunakan untuk menyimpan konten file pada disk. Anda juga dapat meneruskan PHP

echo asset('storage/file.txt');

_26 ke metode

composer require league/flysystem-path-prefixing "^3.0"

8, yang akan menggunakan dukungan aliran yang mendasari Flysystem. Ingat, semua jalur file harus ditentukan relatif terhadap lokasi "root" yang dikonfigurasi untuk disk

public_path('storage') => storage_path('app/public'),

public_path('images') => storage_path('app/images'),

_9

Gagal Menulis

Jika metode

composer require league/flysystem-path-prefixing "^3.0"

_8 (atau operasi "tulis" lainnya) tidak dapat menulis file ke disk,

echo asset('storage/file.txt');

29 akan dikembalikan

composer require league/flysystem-aws-s3-v3 "^3.0"

_0

Jika mau, Anda dapat menentukan opsi

echo asset('storage/file.txt');

30 dalam larik konfigurasi disk sistem file Anda. Ketika opsi ini didefinisikan sebagai

echo asset('storage/file.txt');

_31, metode "tulis" seperti

composer require league/flysystem-path-prefixing "^3.0"

8 akan memunculkan instance

echo asset('storage/file.txt');

33 saat operasi tulis gagal

Mengawali & Menambahkan Ke File

Metode

echo asset('storage/file.txt');

_34 dan

echo asset('storage/file.txt');

35 memungkinkan Anda menulis ke awal atau akhir file

composer require league/flysystem-aws-s3-v3 "^3.0"

_1

Menyalin & Memindahkan File

Metode

echo asset('storage/file.txt');

_36 dapat digunakan untuk menyalin file yang ada ke lokasi baru pada disk, sedangkan metode

echo asset('storage/file.txt');

37 dapat digunakan untuk mengganti nama atau memindahkan file yang ada ke lokasi baru

composer require league/flysystem-aws-s3-v3 "^3.0"

_2

Streaming Otomatis

Streaming file ke penyimpanan menawarkan pengurangan penggunaan memori secara signifikan. Jika Anda ingin Laravel secara otomatis mengelola streaming file yang diberikan ke lokasi penyimpanan Anda, Anda dapat menggunakan metode

echo asset('storage/file.txt');

38 atau

echo asset('storage/file.txt');

39. Metode ini menerima contoh

echo asset('storage/file.txt');

_40 atau

echo asset('storage/file.txt');

41 dan secara otomatis akan mengalirkan file ke lokasi yang Anda inginkan

composer require league/flysystem-aws-s3-v3 "^3.0"

_3

Ada beberapa hal penting yang perlu diperhatikan tentang metode ________18______38. Perhatikan bahwa kami hanya menentukan nama direktori dan bukan nama file. Secara default, metode

echo asset('storage/file.txt');

_38 akan menghasilkan ID unik untuk digunakan sebagai nama file. Ekstensi file akan ditentukan dengan memeriksa jenis MIME file. Path ke file akan dikembalikan dengan metode

echo asset('storage/file.txt');

38 sehingga Anda dapat menyimpan path, termasuk nama file yang dihasilkan, di database Anda

Metode

echo asset('storage/file.txt');

_38 dan

echo asset('storage/file.txt');

39 juga menerima argumen untuk menentukan "visibilitas" dari file yang disimpan. Ini sangat berguna jika Anda menyimpan file di cloud disk seperti Amazon S3 dan ingin file tersebut dapat diakses publik melalui URL yang dihasilkan

composer require league/flysystem-aws-s3-v3 "^3.0"

_4

Unggahan File

Dalam aplikasi web, salah satu kasus penggunaan paling umum untuk menyimpan file adalah menyimpan file yang diunggah pengguna seperti foto dan dokumen. Laravel membuatnya sangat mudah untuk menyimpan file yang diunggah menggunakan metode

echo asset('storage/file.txt');

47 pada instance file yang diunggah. Panggil metode

echo asset('storage/file.txt');

_47 dengan jalur tempat Anda ingin menyimpan file yang diunggah

composer require league/flysystem-aws-s3-v3 "^3.0"

_5

Ada beberapa hal penting yang perlu diperhatikan tentang contoh ini. Perhatikan bahwa kami hanya menentukan nama direktori, bukan nama file. Secara default, metode

echo asset('storage/file.txt');

_47 akan menghasilkan ID unik untuk digunakan sebagai nama file. Ekstensi file akan ditentukan dengan memeriksa jenis MIME file. Path ke file akan dikembalikan dengan metode

echo asset('storage/file.txt');

47 sehingga Anda dapat menyimpan path, termasuk nama file yang dihasilkan, di database Anda

Anda juga dapat memanggil metode

echo asset('storage/file.txt');

_38 pada fasad

composer require league/flysystem-path-prefixing "^3.0"

7 untuk melakukan operasi penyimpanan file yang sama seperti contoh di atas

composer require league/flysystem-aws-s3-v3 "^3.0"

_6

Menentukan Nama File

Jika Anda tidak ingin nama file ditetapkan secara otomatis ke file yang disimpan, Anda dapat menggunakan metode

echo asset('storage/file.txt');

53, yang menerima jalur, nama file, dan disk (opsional) sebagai argumennya

composer require league/flysystem-aws-s3-v3 "^3.0"

_7

Anda juga dapat menggunakan metode

echo asset('storage/file.txt');

_39 pada fasad

composer require league/flysystem-path-prefixing "^3.0"

7, yang akan melakukan operasi penyimpanan file yang sama seperti contoh di atas

composer require league/flysystem-aws-s3-v3 "^3.0"

_8

Peringatan
Karakter unicode yang tidak dapat dicetak dan tidak valid akan secara otomatis dihapus dari jalur file. Oleh karena itu, Anda mungkin ingin membersihkan jalur file Anda sebelum meneruskannya ke metode penyimpanan file Laravel. Jalur file dinormalisasi menggunakan metode ________18______56

Menentukan Disk

Secara default, metode ________18______47 file yang diunggah ini akan menggunakan disk default Anda. Jika Anda ingin menentukan disk lain, berikan nama disk sebagai argumen kedua ke metode

echo asset('storage/file.txt');

47

composer require league/flysystem-aws-s3-v3 "^3.0"

_9

Jika Anda menggunakan metode

echo asset('storage/file.txt');

53, Anda dapat meneruskan nama disk sebagai argumen ketiga ke metode

composer require league/flysystem-ftp "^3.0"

0

Informasi File yang Diunggah Lainnya

Jika Anda ingin mendapatkan nama asli dan ekstensi file yang diunggah, Anda dapat melakukannya menggunakan metode

echo asset('storage/file.txt');

60 dan

echo asset('storage/file.txt');

61

composer require league/flysystem-ftp "^3.0"

1

Namun, perlu diingat bahwa metode

echo asset('storage/file.txt');

60 dan

echo asset('storage/file.txt');

61 dianggap tidak aman, karena nama file dan ekstensi dapat dirusak oleh pengguna jahat. Untuk alasan ini, Anda sebaiknya memilih metode

echo asset('storage/file.txt');

64 dan

echo asset('storage/file.txt');

65 untuk mendapatkan nama dan ekstensi untuk unggahan file yang diberikan

composer require league/flysystem-ftp "^3.0"

2

Visibilitas File

Dalam integrasi Flysystem Laravel, "visibilitas" adalah abstraksi izin file di berbagai platform. File dapat dideklarasikan

composer require league/flysystem-sftp-v3 "^3.0"

_3 atau

echo asset('storage/file.txt');

67. Ketika sebuah file dinyatakan

composer require league/flysystem-sftp-v3 "^3.0"

_3, Anda menunjukkan bahwa file tersebut secara umum dapat diakses oleh orang lain. Misalnya, saat menggunakan driver S3, Anda dapat mengambil URL untuk file

composer require league/flysystem-sftp-v3 "^3.0"

3

Anda dapat mengatur visibilitas saat menulis file melalui metode

composer require league/flysystem-path-prefixing "^3.0"

8

composer require league/flysystem-ftp "^3.0"

3

Jika file telah disimpan, visibilitasnya dapat diambil dan diatur melalui metode

echo asset('storage/file.txt');

71 dan

echo asset('storage/file.txt');

72

composer require league/flysystem-ftp "^3.0"

4

Saat berinteraksi dengan file yang diunggah, Anda dapat menggunakan metode

echo asset('storage/file.txt');

73 dan

echo asset('storage/file.txt');

74 untuk menyimpan file yang diunggah dengan visibilitas

composer require league/flysystem-sftp-v3 "^3.0"

3

composer require league/flysystem-ftp "^3.0"

5

File & Visibilitas Lokal

Saat menggunakan driver

'username' => env('FTP_USERNAME'),

'password' => env('FTP_PASSWORD'),

// Optional FTP Settings...

// 'port' => env('FTP_PORT', 21),

// 'root' => env('FTP_ROOT'),

6,

composer require league/flysystem-sftp-v3 "^3.0"

3 diterjemahkan menjadi

echo asset('storage/file.txt');

78 izin untuk direktori dan

echo asset('storage/file.txt');

79 izin untuk file. Anda dapat mengubah pemetaan izin di file konfigurasi

composer require league/flysystem-sftp-v3 "^3.0"

0 aplikasi Anda

composer require league/flysystem-ftp "^3.0"

6

Menghapus File

Metode

echo asset('storage/file.txt');

_81 menerima satu nama file atau array file untuk dihapus

composer require league/flysystem-ftp "^3.0"

7

Jika perlu, Anda dapat menentukan disk tempat file harus dihapus

composer require league/flysystem-ftp "^3.0"

8

Direktori

Dapatkan Semua File Dalam Direktori

Metode

echo asset('storage/file.txt');

_82 mengembalikan array dari semua file dalam direktori tertentu. Jika Anda ingin mengambil daftar semua file dalam direktori tertentu termasuk semua subdirektori, Anda dapat menggunakan metode

echo asset('storage/file.txt');

83

composer require league/flysystem-ftp "^3.0"

_9

Dapatkan Semua Direktori Dalam Direktori

Metode

echo asset('storage/file.txt');

_84 mengembalikan array dari semua direktori dalam direktori tertentu. Selain itu, Anda dapat menggunakan metode

echo asset('storage/file.txt');

_85 untuk mendapatkan daftar semua direktori dalam direktori tertentu dan semua subdirektorinya

'username' => env('FTP_USERNAME'),

'password' => env('FTP_PASSWORD'),

// Optional FTP Settings...

// 'port' => env('FTP_PORT', 21),

// 'root' => env('FTP_ROOT'),

0

Buat Direktori

Metode

echo asset('storage/file.txt');

_86 akan membuat direktori tertentu, termasuk subdirektori yang diperlukan

'username' => env('FTP_USERNAME'),

'password' => env('FTP_PASSWORD'),

// Optional FTP Settings...

// 'port' => env('FTP_PORT', 21),

// 'root' => env('FTP_ROOT'),

_1

Hapus Direktori

Terakhir, metode

echo asset('storage/file.txt');

_87 dapat digunakan untuk menghapus direktori dan semua filenya

'username' => env('FTP_USERNAME'),

'password' => env('FTP_PASSWORD'),

// Optional FTP Settings...

// 'port' => env('FTP_PORT', 21),

// 'root' => env('FTP_ROOT'),

_2

Sistem File Kustom

Integrasi Flysystem Laravel menyediakan dukungan untuk beberapa "driver" di luar kotak; . Anda dapat membuat driver khusus jika ingin menggunakan salah satu adapter tambahan ini di aplikasi Laravel Anda

Untuk menentukan sistem file khusus, Anda memerlukan adaptor Flysystem. Mari tambahkan adaptor Dropbox yang dikelola komunitas ke proyek kita

'username' => env('FTP_USERNAME'),

'password' => env('FTP_PASSWORD'),

// Optional FTP Settings...

// 'port' => env('FTP_PORT', 21),

// 'root' => env('FTP_ROOT'),

_3

Selanjutnya, Anda dapat mendaftarkan driver dalam metode

echo asset('storage/file.txt');

16 dari salah satu penyedia layanan aplikasi Anda. Untuk melakukannya, Anda harus menggunakan metode

echo asset('storage/file.txt');

89 dari fasad

composer require league/flysystem-path-prefixing "^3.0"

7

'username' => env('FTP_USERNAME'),

'password' => env('FTP_PASSWORD'),

// Optional FTP Settings...

// 'port' => env('FTP_PORT', 21),

// 'root' => env('FTP_ROOT'),

_4

Argumen pertama dari metode

echo asset('storage/file.txt');

_89 adalah nama driver dan yang kedua adalah penutupan yang menerima variabel

echo asset('storage/file.txt');

92 dan

echo asset('storage/file.txt');

93. Penutupan harus mengembalikan instance

echo asset('storage/file.txt');

94. Variabel

echo asset('storage/file.txt');

_93 berisi nilai yang ditentukan dalam

'username' => env('FTP_USERNAME'),

'password' => env('FTP_PASSWORD'),

// Optional FTP Settings...

// 'port' => env('FTP_PORT', 21),

// 'root' => env('FTP_ROOT'),

5 untuk disk yang ditentukan

Setelah Anda membuat dan mendaftarkan penyedia layanan ekstensi, Anda dapat menggunakan driver

echo asset('storage/file.txt');

97 di file konfigurasi

'username' => env('FTP_USERNAME'),

'password' => env('FTP_PASSWORD'),

// Optional FTP Settings...

// 'port' => env('FTP_PORT', 21),

// 'root' => env('FTP_ROOT'),

5 Anda

Bagaimana cara menyimpan file PHP?

Simpan File .
Pilih Simpan dari menu File
Masukkan nama_file_Anda. php ke dalam kolom Save As, pastikan untuk menyertakan. ekstensi php
Klik tombol Simpan

Di mana file PHP disimpan di Windows?

php di folder root halaman web Apache di C. \Apache24\htdocs .

Di mana Anda meletakkan kode PHP dalam HTML?

Anda dapat menambahkan tag PHP ke Halaman HTML Anda. Anda hanya perlu menyertakan kode PHP dengan tag awal PHP ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

Di mana meletakkan file PHP di Linux?

Anda dapat menyimpan konten dalam file phpinfo. php dan letakkan di bawah direktori DocumentRoot dari server Web Apache2 . Mengarahkan browser Anda ke http. // nama host/phpinfo. php akan menampilkan nilai dari berbagai parameter konfigurasi PHP.