Rumah rangka kerja php Laravel Pengendalian dan penyimpanan fail dalam Laravel: mengurus sumber dan fail pengguna

Pengendalian dan penyimpanan fail dalam Laravel: mengurus sumber dan fail pengguna

Aug 13, 2023 pm 09:09 PM
penyimpanan Pemprosesan fail Pengurusan sumber pengguna

Pengendalian dan penyimpanan fail dalam Laravel: mengurus sumber dan fail pengguna

Pengendalian dan Penyimpanan Fail dalam Laravel: Mengurus Sumber dan Fail Pengguna

Gambaran Keseluruhan:
Mengendalikan dan menyimpan fail adalah keperluan biasa semasa membangunkan aplikasi web. Rangka kerja Laravel menyediakan satu set keupayaan pengendalian dan penyimpanan fail yang berkuasa, membolehkan pembangun mengurus sumber dan fail pengguna dengan mudah. Artikel ini akan memperkenalkan fungsi pemprosesan dan penyimpanan fail dalam Laravel dan memberikan beberapa contoh kod.

1. Muat naik fail
Laravel menyediakan fungsi muat naik fail yang ringkas dan mudah. Dengan menggunakan objek Permintaan dan beberapa peraturan pengesahan terbina dalam, kami boleh mengesahkan dan menyimpan fail yang dimuat naik pengguna dengan mudah.

Pertama, kita perlu membuat borang muat naik fail di bahagian hadapan. Sebagai contoh, anda boleh membuat borang HTML yang mengandungi medan input fail.

<form action="/upload" method="POST" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" value="上传">
</form>
Salin selepas log masuk

Kemudian, tentukan laluan dalam fail laluan Laravel yang mengendalikan muat naik fail.

use IlluminateHttpRequest;

Route::post('/upload', function(Request $request){
    $file = $request->file('file');
    
    // 验证文件后缀名和大小
    
    // 保存文件到指定路径
    
    return '文件上传成功';
});
Salin selepas log masuk

Dalam kod di atas, kami mendapat fail yang dimuat naik dengan memanggil $request->file('file'). Kita boleh mendapatkan sambungan fail melalui kaedah getClientOriginalExtension() dan saiz fail melalui kaedah getSize(). $request->file('file')获取上传的文件。我们可以通过getClientOriginalExtension()方法获取文件的后缀名,通过getSize()方法获取文件的大小等。

在进行文件上传之前,我们可以使用一些内置的验证规则来验证用户输入。例如,我们可以使用mimes规则来验证文件的后缀名,max规则来验证文件的大小等。

$request->validate([
    'file' => 'required|file|mimes:jpg,png|max:2048',
]);
Salin selepas log masuk

最后,我们通过调用store()方法将文件保存到指定的路径。

$path = $request->file('file')->store('uploads');
Salin selepas log masuk

store()方法会将文件保存到storage/app/public/uploads目录中,并返回文件的相对路径。

二、文件下载
除了文件上传,Laravel还提供了便捷的文件下载功能。我们可以通过response()函数返回一个下载文件的响应。

例如,我们可以在路由文件中定义一个用于下载文件的路由。

Route::get('/download', function(){
    $file = storage_path('app/public/uploads/demo.png');
    
    return response()->download($file);
});
Salin selepas log masuk

在上述代码中,我们调用response()->download($file)返回一个下载文件的响应。我们可以通过storage_path()函数获取文件的绝对路径。

三、文件存储
除了简单的文件上传和下载功能,Laravel还提供了强大的文件存储功能。我们可以使用Laravel的文件存储功能将文件保存到云存储或其他存储系统中。

首先,我们需要配置Laravel的文件系统配置文件config/filesystems.php

'disks' => [

    'local' => [
        'driver' => 'local',
        'root' => storage_path('app'),
    ],

    'public' => [
        'driver' => 'local',
        'root' => storage_path('app/public'),
        'url' => env('APP_URL').'/storage',
        'visibility' => 'public',
    ],

    // 其他存储系统的配置...

],
Salin selepas log masuk

在上述配置中,local磁盘用于本地文件存储,public磁盘用于公共文件存储。

然后,我们可以使用存储驱动的API来操作文件。

use IlluminateSupportFacadesStorage;

// 保存文件
Storage::disk('public')->put('demo.txt', 'Hello, Laravel');

// 获取文件内容
$content = Storage::disk('public')->get('demo.txt');

// 删除文件
Storage::disk('public')->delete('demo.txt');
Salin selepas log masuk

在上述代码中,我们使用Storage::disk('public')来获取public磁盘的实例,然后可以调用put()get()delete()

Kami boleh menggunakan beberapa peraturan pengesahan terbina dalam untuk mengesahkan input pengguna sebelum melakukan muat naik fail. Contohnya, kita boleh menggunakan peraturan mimes untuk mengesahkan sambungan fail, peraturan max untuk mengesahkan saiz fail, dsb.

rrreee
Akhir sekali, kami menyimpan fail ke laluan yang ditentukan dengan memanggil kaedah store().

rrreee🎜Kaedah store() akan menyimpan fail ke direktori storage/app/public/uploads dan mengembalikan laluan relatif fail tersebut. 🎜🎜2. Muat Turun Fail🎜Selain muat naik fail, Laravel juga menyediakan fungsi muat turun fail yang mudah. Kami boleh mengembalikan respons untuk memuat turun fail melalui fungsi response(). 🎜🎜Sebagai contoh, kita boleh menentukan laluan untuk memuat turun fail dalam fail laluan. 🎜rrreee🎜Dalam kod di atas, kami memanggil response()->download($file) untuk mengembalikan respons untuk memuat turun fail. Kita boleh mendapatkan laluan mutlak fail melalui fungsi storage_path(). 🎜🎜3. Storan Fail🎜Selain fungsi muat naik dan muat turun fail yang ringkas, Laravel juga menyediakan fungsi storan fail yang berkuasa. Kami boleh menggunakan ciri storan fail Laravel untuk menyimpan fail ke storan awan atau sistem storan lain. 🎜🎜Pertama, kita perlu mengkonfigurasi fail konfigurasi sistem fail Laravel config/filesystems.php. 🎜rrreee🎜Dalam konfigurasi di atas, cakera local digunakan untuk storan fail setempat dan cakera public digunakan untuk storan fail awam. 🎜🎜Kami kemudiannya boleh menggunakan API pemacu storan untuk memanipulasi fail. 🎜rrreee🎜Dalam kod di atas, kami menggunakan Storage::disk('public') untuk mendapatkan contoh cakera public, dan kemudian kami boleh memanggil put (), <code>get() dan delete() dan kaedah lain untuk menyimpan, mendapatkan dan memadam fail. 🎜🎜Ringkasan: 🎜Laravel menyediakan set ciri pemprosesan dan storan fail yang berkuasa, membolehkan pembangun mengurus sumber dan fail pengguna dengan mudah. Dengan menggunakan fungsi muat naik dan muat turun fail Laravel, kami boleh melaksanakan muat naik dan muat turun fail dengan mudah. Dengan menggunakan fungsi storan fail Laravel, kami boleh menyimpan fail ke storan awan atau sistem storan lain. Sama ada muat naik fail ringkas atau storan fail kompleks, Laravel menyediakan penyelesaian yang fleksibel dan berkuasa. 🎜

Atas ialah kandungan terperinci Pengendalian dan penyimpanan fail dalam Laravel: mengurus sumber dan fail pengguna. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Huawei akan melancarkan produk storan MED yang inovatif tahun depan: kapasiti rak melebihi 10 PB dan penggunaan kuasa kurang daripada 2 kW Huawei akan melancarkan produk storan MED yang inovatif tahun depan: kapasiti rak melebihi 10 PB dan penggunaan kuasa kurang daripada 2 kW Mar 07, 2024 pm 10:43 PM

Laman web ini melaporkan pada 7 Mac bahawa Dr. Zhou Yuefeng, Presiden Barisan Produk Penyimpanan Data Huawei, baru-baru ini menghadiri persidangan MWC2024 dan secara khusus menunjukkan penyelesaian penyimpanan magnetoelektrik OceanStorArctic generasi baharu yang direka untuk data hangat (WarmData) dan data sejuk (ColdData). Zhou Yuefeng, Presiden barisan produk penyimpanan data Huawei, mengeluarkan satu siri penyelesaian inovatif Sumber imej: Siaran akhbar rasmi Huawei yang dilampirkan pada tapak ini adalah seperti berikut: Kos penyelesaian ini adalah 20% lebih rendah daripada pita magnetik. penggunaan kuasa adalah 90% lebih rendah daripada cakera keras. Menurut bloksandfiles media teknologi asing, jurucakap Huawei turut mendedahkan maklumat tentang penyelesaian storan magnetoelektrik: Cakera magnetoelektronik (MED) Huawei ialah inovasi utama dalam media storan magnetik. Generasi pertama ME

Kemahiran pembangunan Vue3+TS+Vite: cara menyulitkan dan menyimpan data Kemahiran pembangunan Vue3+TS+Vite: cara menyulitkan dan menyimpan data Sep 10, 2023 pm 04:51 PM

Petua pembangunan Vue3+TS+Vite: Cara menyulitkan dan menyimpan data Dengan perkembangan pesat teknologi Internet, keselamatan data dan perlindungan privasi menjadi semakin penting. Dalam persekitaran pembangunan Vue3+TS+Vite, cara menyulitkan dan menyimpan data adalah masalah yang perlu dihadapi oleh setiap pembangun. Artikel ini akan memperkenalkan beberapa teknik penyulitan dan storan data biasa untuk membantu pembangun meningkatkan keselamatan aplikasi dan pengalaman pengguna. 1. Penyulitan Data Penyulitan Data Bahagian Hadapan Penyulitan Bahagian Hadapan ialah bahagian penting dalam melindungi keselamatan data. Biasa digunakan

Cara mengosongkan cache pada Windows 11: Tutorial terperinci dengan gambar Cara mengosongkan cache pada Windows 11: Tutorial terperinci dengan gambar Apr 24, 2023 pm 09:37 PM

Apakah cache? Cache (sebutan ka·shay) ialah komponen perkakasan atau perisian berkelajuan tinggi khusus yang digunakan untuk menyimpan data dan arahan yang kerap diminta, yang seterusnya boleh digunakan untuk memuatkan tapak web, aplikasi, perkhidmatan dan aspek lain bahagian sistem dengan lebih pantas. . Caching menjadikan data yang paling kerap diakses tersedia. Fail cache tidak sama dengan memori cache. Fail cache merujuk kepada fail yang kerap diperlukan seperti PNG, ikon, logo, shader, dsb., yang mungkin diperlukan oleh berbilang program. Fail ini disimpan dalam ruang pemacu fizikal anda, biasanya tersembunyi. Memori cache, sebaliknya, adalah sejenis memori yang lebih pantas daripada memori utama dan/atau RAM. Ia sangat mengurangkan masa capaian data kerana ia lebih dekat dengan CPU dan lebih pantas berbanding dengan RAM

Memuat Naik dan Memproses Fail dalam Laravel: Mengurus Fail Yang Dimuat Naik Pengguna Memuat Naik dan Memproses Fail dalam Laravel: Mengurus Fail Yang Dimuat Naik Pengguna Aug 13, 2023 pm 06:45 PM

Memuat Naik dan Memproses Fail dalam Laravel: Mengurus Fail Yang Dimuat Naik Pengguna Pengenalan: Muat naik fail ialah keperluan fungsi yang sangat biasa dalam aplikasi web moden. Dalam rangka kerja Laravel, muat naik dan pemprosesan fail menjadi sangat mudah dan cekap. Artikel ini akan memperkenalkan cara mengurus fail yang dimuat naik pengguna dalam Laravel, termasuk pengesahan, penyimpanan, pemprosesan dan paparan muat naik fail. 1. Muat naik fail Muat naik fail merujuk kepada memuat naik fail daripada klien ke pelayan. Dalam Laravel, muat naik fail sangat mudah dikendalikan. pertama,

Proses pemasangan Git pada Ubuntu Proses pemasangan Git pada Ubuntu Mar 20, 2024 pm 04:51 PM

Git ialah sistem kawalan versi teragih yang pantas, boleh dipercayai dan boleh disesuaikan. Ia direka bentuk untuk menyokong aliran kerja bukan linear teragih, menjadikannya ideal untuk pasukan pembangunan perisian dari semua saiz. Setiap direktori kerja Git ialah repositori bebas dengan sejarah lengkap semua perubahan dan keupayaan untuk menjejak versi walaupun tanpa akses rangkaian atau pelayan pusat. GitHub ialah repositori Git yang dihoskan pada awan yang menyediakan semua ciri kawalan semakan yang diedarkan. GitHub ialah repositori Git yang dihoskan pada awan. Tidak seperti Git yang merupakan alat CLI, GitHub mempunyai antara muka pengguna grafik berasaskan web. Ia digunakan untuk kawalan versi, yang melibatkan kerjasama dengan pembangun lain dan menjejaki perubahan pada skrip dan

Cara menggunakan sessionStorage dengan betul untuk melindungi data sensitif Cara menggunakan sessionStorage dengan betul untuk melindungi data sensitif Jan 13, 2024 am 11:54 AM

Cara menggunakan sessionStorage dengan betul untuk menyimpan maklumat sensitif memerlukan contoh kod khusus Sama ada dalam pembangunan web atau pembangunan aplikasi mudah alih, kami selalunya perlu menyimpan dan memproses maklumat sensitif, seperti bukti kelayakan log masuk pengguna, nombor ID, dsb. Dalam pembangunan bahagian hadapan, menggunakan sessionStorage ialah penyelesaian storan biasa. Walau bagaimanapun, memandangkan sessionStorage ialah storan berasaskan pelayar, beberapa isu keselamatan perlu diberi perhatian untuk memastikan maklumat sensitif yang disimpan tidak diakses dan digunakan secara berniat jahat.

Bermula dengan pemprosesan fail PHP: panduan langkah demi langkah untuk membaca dan menulis Bermula dengan pemprosesan fail PHP: panduan langkah demi langkah untuk membaca dan menulis Sep 06, 2023 am 09:58 AM

Bermula dengan pemprosesan fail PHP: Panduan langkah demi langkah untuk membaca dan menulis Dalam pembangunan web, pemprosesan fail adalah tugas biasa, sama ada membaca fail yang dimuat naik oleh pengguna atau menulis hasilnya ke fail untuk kegunaan seterusnya Pemprosesan Dokumen PHP adalah sangat penting. Artikel ini akan menyediakan panduan ringkas untuk memperkenalkan langkah asas membaca dan menulis fail dalam PHP, dan melampirkan contoh kod untuk rujukan. Membaca fail dalam PHP, anda boleh menggunakan fungsi fopen() untuk membuka fail dan mengembalikan sumber fail (file

Bagaimanakah PHP dan swoole mencapai caching dan penyimpanan data yang cekap? Bagaimanakah PHP dan swoole mencapai caching dan penyimpanan data yang cekap? Jul 23, 2023 pm 04:03 PM

Bagaimanakah PHP dan swoole mencapai caching dan penyimpanan data yang cekap? Gambaran Keseluruhan: Dalam pembangunan aplikasi web, caching dan penyimpanan data adalah bahagian yang sangat penting. PHP dan swoole menyediakan kaedah yang cekap untuk cache dan menyimpan data. Artikel ini akan memperkenalkan cara menggunakan PHP dan swoole untuk mencapai caching dan penyimpanan data yang cekap, serta memberikan contoh kod yang sepadan. 1. Pengenalan kepada swoole: swoole ialah enjin komunikasi rangkaian tak segerak berprestasi tinggi yang dibangunkan untuk bahasa PHP

See all articles