Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana Memaksa Muat Turun Fail dalam PHP: Memastikan Muat Turun Daripada Main Semula?

Bagaimana Memaksa Muat Turun Fail dalam PHP: Memastikan Muat Turun Daripada Main Semula?

Linda Hamilton
Linda Hamiltonasal
2024-11-15 07:43:02609semak imbas

How to Force File Downloads in PHP: Ensuring Downloads Instead of Playback?

Cara Memulakan Muat Turun Fail Paksa dalam PHP

Memaksa muat turun fail dan bukannya hanya memautkannya boleh menjadi penting dalam mencegah main balik video yang tidak diingini dalam pelayar. Ini amat relevan apabila fail video berada pada pelayan luaran. Nasib baik, PHP menyediakan penyelesaian untuk senario ini.

Untuk memaksa muat turun menggunakan PHP, pertimbangkan pendekatan berikut:

1. Konfigurasikan Pengepala:

header('Content-Type: application/octet-stream');
header("Content-Transfer-Encoding: Binary"); 
header("Content-disposition: attachment; filename=\"". $file_name . "\"");
  • Jenis Kandungan: Menentukan bahawa kandungan ialah strim oktet, iaitu strim data binari.
  • Pengekodan-Pemindahan-Kandungan: Menunjukkan bahawa data dipindahkan dalam format binari.
  • Pelupusan-Kandungan: Menetapkan lampiran dan nama fail untuk muat turun.

2. Panggil Fungsi readfile():

readfile($file_url);
  • readfile() cuba membaca kandungan fail dan menulisnya ke penimbal output semasa.
  • $file_url ialah URL jauh tempat fail dihoskan.

3. Cegah Output Selanjutnya:

exit;
  • Barisan ini memastikan tiada kandungan tambahan dikeluarkan selepas muat turun dimulakan.

Pertimbangan Tambahan:

  • Untuk readfile() mengakses URL jauh, pastikan fopen_wrappers didayakan.
  • Kaedah ini memulakan muat turun tanpa mengira jenis fail. Untuk jenis fail tertentu, pertimbangkan untuk menggunakan fungsi terbina dalam PHP seperti pengepala('Lokasi: ...') atau nyahpaut().

Atas ialah kandungan terperinci Bagaimana Memaksa Muat Turun Fail dalam PHP: Memastikan Muat Turun Daripada Main Semula?. 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