Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mencetuskan Muat Turun Fail secara Automatik dalam PHP?

Bagaimana untuk Mencetuskan Muat Turun Fail secara Automatik dalam PHP?

Susan Sarandon
Susan Sarandonasal
2024-11-24 07:36:10902semak imbas

How to Automatically Trigger File Downloads in PHP?

Cara Mencetuskan Muat Turun Fail Automatik dalam PHP

Soalan:

Cara melaksanakan fungsi dalam PHP yang secara automatik menggesa pengguna untuk memuat turun fail ke mesin tempatan mereka apabila mereka mengklik pada pautan web? Ini biasanya dilihat pada tapak muat turun di mana pengguna boleh menyimpan fail perisian ke cakera mereka selepas mengklik.

Jawapan:

Untuk mencapai tingkah laku ini, anda perlu menghantar pengepala tertentu sebelum mengeluarkan fail dalam PHP:

header("Content-Disposition: attachment; filename=\"" . basename($File) . "\"");
header("Content-Type: application/octet-stream");
header("Content-Length: " . filesize($File));
header("Connection: close");

Pengepala Content-Disposition menentukan bahawa penyemak imbas harus menggesa pengguna untuk menyimpan fail dengan nama fail yang disediakan.

Pengepala Jenis Kandungan menunjukkan bahawa fail itu harus dianggap sebagai strim binari generik, yang kebanyakan penyemak imbas mengiktiraf sebagai fail yang boleh dimuat turun.

Pengepala Panjang Kandungan menetapkan saiz daripada fail yang sedang dimuat turun.

Akhir sekali, Pengepala Sambungan: tutup mengarahkan penyemak imbas untuk menutup sambungan selepas muat turun selesai.

Nota Tambahan:

  • Sesetengah penyemak imbas mungkin memerlukan jenis MIME aplikasi/muat turun paksa dan bukannya strim aplikasi/oktet.
  • Pastikan fail itu wujud dan boleh diakses sebelum cuba memuat turunnya.

Atas ialah kandungan terperinci Bagaimana untuk Mencetuskan Muat Turun Fail secara Automatik dalam PHP?. 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