Petunjuk dalam dokumen bantuan PHP tentang PHP yang memicu pengunduhan melalui header relatif sederhana, dan hanya ada sedikit artikel tentang aspek ini di Internet, dan banyak artikel tidak dapat mencapai efek yang diinginkan. Hari ini saya juga akan membicarakan topik ini. Jika Anda merasa ini lebih baik dibandingkan dengan beberapa artikel di Internet, maka saya akan sangat puas.
Dari sudut pandang akurat, dokumen PHP adalah yang paling akurat, karena secara ringkas mencantumkan tiga pernyataan yang diperlukan untuk memicu pengunduhan file teks. Ambil contoh PDF:
Berikut ini adalah konten yang dikutip:
// Kita akan mengeluarkan
header PDF('Content-type: application/pdf');
// Ini akan disebut download.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');
// Sumber PDF ada di original.pdf
readfile('original.pdf');
Ketiga kalimat ini benar, tetapi beberapa masalah yang tidak terduga dapat dengan mudah terjadi selama penggunaan sebenarnya. Jika Anda adalah orang yang sangat berhati-hati, Anda dapat dengan mudah menghindari masalah ini. Tapi ternyata tidak, jadi saya mengalami masalah seperti itu. Di sini saya akan membicarakan masalah saya secara singkat.
Untuk kalimat pertama, seharusnya tidak ada yang perlu dikatakan. Perlu saja. Ubah saja jenis dokumennya. Misalnya, jika Anda mengunduh file txt, ubahlah menjadi header('Content-type: application/txt'). );. Kalimat kedua Tidak ada yang perlu dikatakan, cukup beri nama pada dokumen yang Anda unduh. Jika itu adalah file txt, Anda dapat mengubahnya menjadi header('Content-Disposition: attachment; filename="downloaded.txt"') ;, pertanyaan kalimat ketiga Masih ada lagi. Fungsi readfile berarti membaca file dan mengeluarkannya. Jalur file di sini harus berupa jalur file asli.txt di bawah folder unduhan, Anda dapat menulis readfile('downloads/ original.txt');, dan jika halaman yang dikirimkan akan menampilkan teks dan karakter lain, file yang diunduh akan menjadi file campuran dari file asli original.txt dan output teks dari halaman yang dikirimkan. Saya kurang memperhatikan dengan cermat di sini. Segera setelah saya melihat ada sesuatu yang salah, saya segera memeriksa kodenya, tetapi tidak menemukan bahwa teks di atas adalah yang saya butuhkan. Setelah menemukan bagian konten ini, Anda mungkin segera memikirkan cara menyelesaikannya masalah ini, yaitu mematikan keluaran konten teks halaman yang dikirimkan. Pada titik ini, masalah terpecahkan, dan kotak dialog pengunduhan dipicu ketika tautan file teks diklik.