Rumah pembangunan bahagian belakang tutorial php Senarai lengkap fungsi muat turun fail PHP: analisis muat turun fail contoh fail baca, pengepala, Pelupusan Kandungan dan fungsi lain

Senarai lengkap fungsi muat turun fail PHP: analisis muat turun fail contoh fail baca, pengepala, Pelupusan Kandungan dan fungsi lain

Nov 18, 2023 pm 03:26 PM
header Muat turun fail readfile content-disposition

Senarai lengkap fungsi muat turun fail PHP: analisis muat turun fail contoh fail baca, pengepala, Pelupusan Kandungan dan fungsi lain

Senarai lengkap fungsi muat turun fail PHP: analisis muat turun fail contoh fail baca, pengepala, Pelupusan Kandungan dan fungsi lain

Muat turun fail ialah salah satu fungsi penting dalam aplikasi Web, dan PHP, sebagai Web yang digunakan secara meluas Bahasa pembangunan menyediakan pelbagai fungsi dan kaedah untuk memuat turun fail.

Artikel ini akan memperkenalkan fungsi muat turun fail yang biasa digunakan dalam PHP, termasuk fail baca, pengepala, Pelupusan Kandungan, dsb., dan menunjukkan contoh kod yang sepadan untuk membantu semua orang lebih memahami dan menguasai pelaksanaan muat turun fail.

1. fungsi readfile()

Fungsi readfile() ialah salah satu fungsi muat turun fail yang paling biasa digunakan untuk membaca fail dan menghantarnya ke aliran output. Berikut ialah contoh sintaks asas menggunakan fungsi readfile() untuk memuat turun fail:

$file = 'example.txt';
if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="'.basename($file).'"');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    readfile($file);
    exit;
}
Salin selepas log masuk

Kod di atas mula-mula menyemak sama ada fail itu wujud, kemudian menetapkan pelbagai parameter aliran output, dan akhirnya menggunakan fungsi readfile() untuk baca dan hantar fail ke aliran keluaran. Kelebihan menggunakan fungsi readfile() ialah ia mudah dan pantas, dan jumlah kod adalah kecil. Tetapi kelemahannya juga jelas Fungsi ini akan membaca keseluruhan fail ke dalam memori pada satu masa dan kemudian menghantarnya Jika fail terlalu besar, ia boleh menyebabkan kesesakan prestasi pelayan.

2. Fungsi Header()

Fungsi header() boleh digunakan untuk menghantar header HTTP Ia biasanya digunakan dalam kombinasi dengan fungsi readfile() untuk melaksanakan muat turun fail. Fungsi header() boleh menetapkan pelbagai pengepala HTTP, termasuk Content-Type, Content-Disposition, Content-Length, dsb.

Berikut ialah contoh menggunakan fungsi header() dan fungsi readfile() untuk melaksanakan muat turun fail:

$file = 'example.txt';
if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="'.basename($file).'"');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    ob_clean();
    flush();
    readfile($file);
    exit;
}
Salin selepas log masuk

Kod di atas adalah serupa dengan kod contoh sebelumnya, satu-satunya perbezaan ialah ob_clean() dan flush () fungsi ditambah. Fungsi ob_clean() boleh mengosongkan penimbal keluaran untuk memastikan pengepala respons boleh dihantar dengan betul. Fungsi flush() boleh memaksa semua output dihantar kepada klien.

3. Content-Disposition

Content-Disposition ialah pengepala HTTP yang menunjukkan cara mengendalikan data yang dihantar, seperti sama ada untuk memuat turun fail sebagai "lampiran". Dengan menetapkan pengepala Content-Disposition kita boleh menentukan nama fail semasa memuat turun.

Berikut ialah contoh menggunakan pengepala Content-Disposition untuk melaksanakan muat turun fail:

$file = 'example.txt';
if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="example.txt"');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    ob_clean();
    flush();
    readfile($file);
    exit;
}
Salin selepas log masuk

Berbanding dengan kod contoh sebelumnya, kali ini kami menentukan nama fail dalam pengepala Content-Disposition tanpa menggunakan nama basename() fungsi Extract nama fail daripada laluan fail. Perlu diingatkan bahawa petikan dalam nama fail="example.txt" diperlukan, jika tidak, penyemak imbas boleh menyebabkan ralat penghuraian apabila nama fail mengandungi ruang.

Nota lain

Apabila menggunakan fungsi muat turun fail, kita juga perlu memberi perhatian kepada perkara berikut:

1 Laluan fail mestilah laluan relatif atau laluan mutlak, bukan URL, jika tidak muat turun akan gagal .

2 Apabila menggunakan fungsi pengepala() untuk menetapkan pengepala HTTP, ia mesti dipanggil sebelum mengeluarkan sebarang kandungan.

3. Menambah fungsi ob_clean() dan flush() boleh mengelakkan masalah kegagalan menghantar pengepala respons tertentu.

4. Jika fail yang dimuat turun adalah sangat besar, anda harus mempertimbangkan untuk memuat turun dalam segmen atau menggunakan kaedah pengoptimuman muat turun yang lain.

Ringkasan

Fungsi muat turun fail PHP terutamanya termasuk fail baca, pengepala, Pelupusan Kandungan, dsb. Anda boleh menggunakan fungsi ini untuk melaksanakan fungsi muat turun fail dengan cepat dan mudah, tetapi anda perlu memberi perhatian kepada isu seperti laluan fail, tetapan pengepala HTTP, pembersihan penimbal, dsb. untuk memastikan muat turun dapat diteruskan seperti biasa. Untuk fail besar, prestasi muat turun dan isu kecekapan juga perlu dipertimbangkan.

Atas ialah kandungan terperinci Senarai lengkap fungsi muat turun fail PHP: analisis muat turun fail contoh fail baca, pengepala, Pelupusan Kandungan dan fungsi lain. 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)

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

Bagaimanakah SpringBoot melepasi parameter dalam Pengepala melalui panggilan Feign? Bagaimanakah SpringBoot melepasi parameter dalam Pengepala melalui panggilan Feign? May 16, 2023 pm 08:38 PM

[SpringBoot] Melepasi parameter dalam Pengepala melalui panggilan Feign Cara menghantar parameter Pengepala melalui Perihalan Masalah Feign Apabila kami menggunakan Feign untuk meminta antara muka API perkhidmatan lain dalam Spring Cloud, terdapat keperluan untuk lulus parameter dalam Pengepala Jika tidak pemprosesan khas dilakukan, ia akan Parameter dalam Pengepala akan hilang. Penyelesaian 1: Lulus melalui @RequestHeader(name="headerName"). Contohnya: Feign ditakrifkan seperti berikut @FeignClient(name="service-name")pub

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

Apakah maksud pengepala linux? Apakah maksud pengepala linux? Jul 18, 2023 pm 03:34 PM

Pengepala Linux merujuk kepada permulaan fail atau aliran data, yang digunakan untuk mengandungi metadata tentang kandungan Dengan menulis dan menggunakan fail Pengepala dengan betul, pembangun boleh menggunakan sumber sistem dengan lebih baik dan meningkatkan kebolehbacaan dan Kebolehselenggaraan kod.

Bagaimana untuk mencetuskan muat turun fail apabila mengklik butang HTML atau JavaScript? Bagaimana untuk mencetuskan muat turun fail apabila mengklik butang HTML atau JavaScript? Sep 12, 2023 pm 12:49 PM

Pada masa kini, banyak aplikasi membolehkan pengguna memuat naik dan memuat turun fail. Contohnya, alat pengesanan plagiarisme membenarkan pengguna memuat naik fail dokumen yang mengandungi beberapa teks. Ia kemudian menyemak plagiarisme dan menghasilkan laporan yang boleh dimuat turun oleh pengguna. Semua orang tahu cara menggunakan inputtypefile untuk mencipta butang muat naik fail, tetapi beberapa pembangun tahu cara menggunakan JavaScript/JQuery untuk mencipta butang muat turun fail. Tutorial ini akan mengajar anda pelbagai cara untuk mencetuskan muat turun fail apabila butang HTML atau JavaScript diklik. Gunakan tag <a> HTML dan atribut muat turun untuk mencetuskan muat turun fail apabila butang diklik Setiap kali kami memberikan teg <a>

See all articles