Rumah rangka kerja php YII Muat naik dan muat turun fail dalam rangka kerja Yii: melaksanakan operasi fail

Muat naik dan muat turun fail dalam rangka kerja Yii: melaksanakan operasi fail

Jun 21, 2023 am 08:42 AM
Muat naik fail Muat turun fail operasi fail yii

Dalam pembangunan web, muat naik dan muat turun fail adalah keperluan yang sangat biasa. Dalam rangka kerja Yii, kami boleh melaksanakan operasi fail dengan mudah melalui fungsi muat naik dan muat turun fail terbina dalam. Dalam artikel ini, kami akan memperkenalkan cara memuat naik dan memuat turun fail dalam rangka kerja Yii.

1. Muat naik fail

Muat naik fail biasanya melibatkan dua proses: penyampaian borang muat naik dan pemprosesan muat naik fail. Dalam rangka kerja Yii, kami boleh memaparkan borang muat naik dengan menggunakan Borang Aktif, dan kemudian gunakan UploadedFile dalam pengawal bahagian belakang untuk mengendalikan proses muat naik fail.

  1. Berikan borang muat naik

Untuk memuat naik fail, anda perlu memberikan borang muat naik terlebih dahulu. Dalam rangka kerja Yii, kita boleh menggunakan Borang Aktif untuk menjana borang muat naik dengan cepat. Berikut ialah contoh borang muat naik fail mudah:

$form = ActiveForm::begin([

'options' => ['enctype' => 'multipart/form-data']
Salin selepas log masuk

]) ?>

field($model, 'fail')->fileInput() ?>

Muat naik

Dalam kod, kami menggunakan kaedah begin() dan end() Borang Aktif untuk membungkus borang dan menetapkan atribut 'enctype' kepada 'multipart/form-data' untuk menyokong Fail muat naik. Kemudian, kami menggunakan kaedah $form->field() untuk menjana medan borang Nama medan ialah atribut dalam model kami, di sini kami menggunakan 'fail'. Akhir sekali, kami menambah butang hantar yang pengguna boleh klik untuk memuat naik fail.

  1. Mengendalikan muat naik fail

Sebaik sahaja pengguna mengklik butang muat naik, kami perlu mengendalikan muat naik fail dalam pengawal bahagian belakang. Dalam rangka kerja Yii, kita boleh menggunakan kelas UploadedFile untuk mengendalikan muat naik fail. Berikut ialah kod pengawal muat naik fail yang mudah:

public function actionUpload()
{

$model = new FileModel();

if(Yii::$app->request->isPost){
    $model->file = UploadedFile::getInstance($model, 'file');

    if($model->upload()){
        Yii::$app->session->setFlash('success', '文件上传成功');
    }else{
        Yii::$app->session->setFlash('error', '文件上传失败');
    }
}

return $this->render('upload', ['model' => $model]);
Salin selepas log masuk

}

Dalam kod, kami mula-mula membuat seketika kelas FileModel dan kemudian menyemak sama ada permintaan semasa adalah permintaan POST. Jika ia adalah permintaan POST, kami menggunakan kaedah UploadedFile::getInstance() untuk mendapatkan fail yang dimuat naik ialah nama medan borang muat naik dan nama atribut yang kami takrifkan dalam model. Kami kemudian menggunakan kaedah $model->upload() untuk mengendalikan operasi muat naik fail. Jika muat naik fail berjaya, kami akan menetapkan mesej kejayaan, jika tidak mesej ralat. Akhir sekali, kami mengembalikan fail paparan dan lulus pembolehubah $model sebagai parameter, yang akan mengandungi maklumat hasil yang dimuat naik.

  1. Mengendalikan operasi muat naik fail

Langkah terakhir untuk melaksanakan muat naik fail ialah melaksanakan kaedah $model->upload(). Berikut ialah pelaksanaan mudah kaedah $model->upload():

public function upload()
{

if ($this->validate()) {
    $file_path = 'uploads/' . $this->file->baseName . '.' . $this->file->extension;

    if ($this->file->saveAs($file_path)) {
        return true;
    } else {
        return false;
    }
} else {
    return false;
}
Salin selepas log masuk

}

Dalam kod , Kami mula-mula menyemak sama ada fail yang dimuat naik telah disahkan. Kami kemudian membuat laluan fail untuk fail yang dimuat naik (menggabungkan nama fail dan sambungan dan menyimpannya dalam folder muat naik). Akhir sekali, kami menggunakan kaedah $this->file->saveAs() untuk menyimpan fail ke cakera. Kami akan kembali benar jika save berjaya, false sebaliknya.

2. Muat turun fail

Untuk memuat turun fail, kami perlu menyediakan pautan muat turun yang pengguna boleh klik untuk memuat turun fail. Dalam rangka kerja Yii, kita boleh melaksanakan muat turun fail dengan menggunakan objek Response. Berikut ialah kod pengawal muat turun fail yang mudah:

public function actionDownload()
{

$file_path = 'uploads/test.txt';

if(file_exists($file_path)){
    return Yii::$app->response->sendFile($file_path);
}else{
    throw new yiiwebNotFoundHttpException('文件不存在');
}
Salin selepas log masuk

}

Dalam kod, kami mula-mula mendapat laluan fail muat turun . Kemudian kami menyemak sama ada fail itu wujud. Jika fail itu wujud, kami menggunakan kaedah Yii::$app->response->sendFile() untuk menghantar fail kepada pengguna. Jika fail tidak wujud, kami akan membuang pengecualian.

3. Paparkan pautan fail dalam paparan

Akhir sekali, kami perlu memaparkan pautan muat naik dan muat turun fail dalam paparan. Berikut ialah contoh fail paparan ringkas:

Contoh Muat Naik dan Muat Turun Fail

Muat Naik Fail

< ;?= $this->render('_upload_form', ['model' => $model]) ?>

Muat turun Fail

Muat turun fail:

Dalam kod, kami mula-mula memaparkan fail dengan memasukkan borang muat naik fail _upload_form view. Kami kemudian gunakan kaedah Url::to() untuk menjana pautan muat turun fail dan menambahkannya pada halaman Muat naik dan muat turun fail dilaksanakan dalam rangka kerja Untuk memuat naik fail, anda perlu memberikan borang muat naik dan memproses muat naik fail. Untuk memuat turun fail, anda perlu menyediakan pautan muat turun dan menggunakan objek Respons untuk melaksanakan fungsi muat turun fail Apabila melaksanakan fungsi muat naik dan muat turun fail, kami perlu mempertimbangkan kebenaran Akses dan isu-isu lain dalam aplikasi sebenar , kami perlu menangani isu ini dengan berhati-hati untuk memastikan keselamatan dan kestabilan muat naik dan muat turun fail

.

Atas ialah kandungan terperinci Muat naik dan muat turun fail dalam rangka kerja Yii: melaksanakan operasi fail. 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)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu 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)

Operasi pembukaan Python selepas memuat turun fail Operasi pembukaan Python selepas memuat turun fail Apr 03, 2024 pm 03:39 PM

Python menyediakan pilihan berikut untuk membuka fail yang dimuat turun: open() function: buka fail menggunakan laluan dan mod yang ditentukan (seperti 'r', 'w', 'a'). Pustaka permintaan: Gunakan kaedah muat turun() untuk memberikan nama secara automatik dan membuka fail secara terus. Pustaka Pathlib: Gunakan kaedah write_bytes() dan read_text() untuk menulis dan membaca kandungan fail.

Laksanakan muat naik dan muat turun fail dalam dokumen Workerman Laksanakan muat naik dan muat turun fail dalam dokumen Workerman Nov 08, 2023 pm 06:02 PM

Untuk melaksanakan muat naik dan muat turun fail dalam dokumen Workerman, contoh kod khusus diperlukan. Pengenalan: Workerman ialah rangka kerja komunikasi rangkaian tak segerak PHP berprestasi tinggi yang ringkas, cekap dan mudah digunakan. Dalam pembangunan sebenar, muat naik dan muat turun fail adalah keperluan fungsi biasa Artikel ini akan memperkenalkan cara menggunakan rangka kerja Workerman untuk melaksanakan muat naik dan muat turun fail, dan memberikan contoh kod khusus. 1. Muat naik fail: Muat naik fail merujuk kepada operasi memindahkan fail pada komputer tempatan ke pelayan. Yang berikut digunakan

Bagaimana untuk menggunakan fungsi PHP untuk memuat naik dan memuat turun lampiran untuk menghantar dan menerima e-mel? Bagaimana untuk menggunakan fungsi PHP untuk memuat naik dan memuat turun lampiran untuk menghantar dan menerima e-mel? Jul 25, 2023 pm 08:17 PM

Bagaimana untuk menggunakan fungsi PHP untuk memuat naik dan memuat turun lampiran untuk menghantar dan menerima e-mel? Dengan perkembangan pesat teknologi komunikasi moden, e-mel telah menjadi cara penting untuk orang ramai berkomunikasi dan menghantar maklumat dalam kehidupan seharian. Dalam pembangunan web, kami sering menghadapi keperluan untuk menghantar dan menerima e-mel dengan lampiran. Sebagai bahasa skrip sebelah pelayan yang berkuasa, PHP menyediakan pelbagai fungsi dan perpustakaan kelas yang boleh memudahkan proses pemprosesan e-mel. Artikel ini akan memperkenalkan cara menggunakan fungsi PHP untuk memuat naik dan memuat turun lampiran untuk menghantar dan menerima e-mel. Emel dihantar dahulu, kami

Cara menggunakan Laravel untuk melaksanakan fungsi muat naik dan muat turun fail Cara menggunakan Laravel untuk melaksanakan fungsi muat naik dan muat turun fail Nov 02, 2023 pm 04:36 PM

Cara menggunakan Laravel untuk melaksanakan fungsi muat naik dan muat turun fail Laravel ialah rangka kerja Web PHP popular yang menyediakan pelbagai fungsi dan alatan untuk menjadikan pembangunan aplikasi Web lebih mudah dan cekap. Salah satu fungsi yang biasa digunakan ialah muat naik dan muat turun fail. Artikel ini akan memperkenalkan cara menggunakan Laravel untuk melaksanakan fungsi muat naik dan muat turun fail, serta menyediakan contoh kod khusus. Muat naik fail Muat naik fail merujuk kepada memuat naik fail tempatan ke pelayan untuk penyimpanan. Dalam Laravel kita boleh menggunakan muat naik fail

Bagaimana untuk menggunakan gRPC untuk melaksanakan muat naik fail di Golang? Bagaimana untuk menggunakan gRPC untuk melaksanakan muat naik fail di Golang? Jun 03, 2024 pm 04:54 PM

Bagaimana untuk melaksanakan muat naik fail menggunakan gRPC? Buat definisi perkhidmatan sokongan, termasuk permintaan dan mesej respons. Pada klien, fail yang hendak dimuat naik dibuka dan dibahagikan kepada beberapa bahagian, kemudian distrim ke pelayan melalui aliran gRPC. Di bahagian pelayan, ketulan fail diterima dan disimpan ke dalam fail. Pelayan menghantar respons selepas muat naik fail selesai untuk menunjukkan sama ada muat naik berjaya.

Bagaimana untuk menyelesaikan pengecualian muat naik fail Java (FileUploadException) Bagaimana untuk menyelesaikan pengecualian muat naik fail Java (FileUploadException) Aug 18, 2023 pm 12:11 PM

Cara menyelesaikan pengecualian muat naik fail Java (FileUploadException Satu masalah yang sering dihadapi dalam pembangunan web ialah FileUploadException (pengecualian muat naik fail). Ia mungkin berlaku disebabkan oleh pelbagai sebab seperti saiz fail melebihi had, format fail tidak sepadan atau konfigurasi pelayan yang salah. Artikel ini menerangkan beberapa cara untuk menyelesaikan masalah ini dan menyediakan contoh kod yang sepadan. Hadkan saiz fail yang dimuat naik Dalam kebanyakan senario, hadkan saiz fail

Cara menggunakan rangka kerja Hyperf untuk memuat turun fail Cara menggunakan rangka kerja Hyperf untuk memuat turun fail Oct 21, 2023 am 08:23 AM

Cara menggunakan rangka kerja Hyperf untuk memuat turun fail Pengenalan: Muat turun fail adalah keperluan biasa apabila membangunkan aplikasi web menggunakan rangka kerja Hyperf. Artikel ini akan memperkenalkan cara menggunakan rangka kerja Hyperf untuk memuat turun fail, termasuk contoh kod khusus. 1. Persediaan Sebelum memulakan, pastikan anda telah memasang rangka kerja Hyperf dan berjaya mencipta aplikasi Hyperf. 2. Buat pengawal muat turun fail Mula-mula, kita perlu mencipta pengawal untuk mengendalikan permintaan muat turun fail. Buka terminal dan masuk

Bagaimana untuk melaksanakan bar kemajuan muat naik fail FTP menggunakan PHP Bagaimana untuk melaksanakan bar kemajuan muat naik fail FTP menggunakan PHP Jul 30, 2023 pm 06:51 PM

Cara menggunakan PHP untuk melaksanakan bar kemajuan muat naik fail FTP 1. Pengenalan latar belakang Dalam pembangunan laman web, muat naik fail adalah fungsi biasa. Untuk muat naik fail besar, untuk meningkatkan pengalaman pengguna, kami selalunya perlu memaparkan bar kemajuan muat naik kepada pengguna untuk memberitahu pengguna proses muat naik fail. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi bar kemajuan muat naik fail FTP. 2. Idea asas untuk melaksanakan bar kemajuan muat naik fail FTP Bar kemajuan muat naik fail FTP biasanya dikira dengan mengira saiz fail yang dimuat naik dan saiz fail yang dimuat naik.

See all articles