Cara Menggunakan PHP untuk Memaksa Unduhan File

Saat Anda memikirkannya, peramban web merupakan prestasi luar biasa dari pemrograman yang rumit. Mereka adalah alat yang merupakan bagian dari kehidupan kita sehari-hari - digunakan untuk segala hal mulai dari memeriksa status teman dan keluarga, untuk berkomunikasi dengan orang-orang itu, untuk melakukan pembelian, menonton video, untuk menjaga kehidupan finansial kita, dan begitu banyak lebih. Sebagaimana lazimnya browser dalam kehidupan kita, kenyataannya adalah bahwa kebanyakan orang tidak menghargai betapa bergunanya mereka sebenarnya.

Dibalik layar

Satu hal yang dilakukan browser di belakang layar adalah mencoba membuat semua klik yang dilakukan seseorang selama sesi penjelajahan benar-benar melakukan sesuatu. Ini berarti semakin banyak jenis file yang dapat dibuka untuk dilihat langsung di browser web.

Sebagian besar waktu, ini adalah hal yang baik, karena dapat sangat frustasi untuk mengklik tautan ke dokumen yang ingin Anda baca dan kemudian harus menunggu untuk diunduh dan akhirnya terbuka di komputer Anda. Rasa frustrasi itu mencapai tingkat berikutnya ketika Anda menunggu unduhan ini, hanya untuk mengetahui bahwa Anda tidak memiliki program yang tepat untuk membuka dokumen. Hari-hari ini, yang jarang terjadi karena peramban memang, memang, menampilkan dokumen langsung sebaris. Misalnya, file PDF tidak diunduh secara default. Sebaliknya, mereka ditampilkan langsung di browser web mirip dengan bagaimana halaman web akan ditampilkan.

Bagaimana jika Anda memiliki file yang ingin orang unduh dan tidak melihatnya langsung di peramban web?

Jika itu adalah file HTML atau PDF , Anda tidak bisa hanya memposting link ke dokumen itu karena (seperti yang baru saja kita bahas) browser web membuka dokumen-dokumen itu secara otomatis dan menampilkannya secara inline. Untuk membuat file-file ini diunduh ke komputer seseorang, Anda malah perlu melakukan penipuan menggunakan PHP.

PHP memungkinkan Anda untuk mengubah header HTTP dari file yang Anda tulis.

Proses ini membuatnya sehingga Anda dapat memaksa file untuk diunduh yang biasanya memuat browser di jendela yang sama. Ini sangat cocok untuk file seperti PDF, file dokumen, gambar, dan video yang ingin pelanggan Anda unduh daripada langsung online dari browser.

Anda memerlukan PHP di server web tempat file Anda akan dihosting, file yang akan diunduh, dan jenis MIME file yang dimaksud.

Bagaimana cara melakukannya

  1. Unggah file yang ingin Anda sediakan untuk diunduh ke server web Anda. Misalnya, katakan Anda memiliki file PDF yang Anda ingin orang unduh ketika mereka mengeklik tautan. Anda terlebih dahulu akan mengunggah file tersebut ke lingkungan hosting situs web Anda.
    huge_document.pdf
  2. Edit file PHP baru di editor web Anda - untuk kemudahan penggunaan, kami sarankan untuk menamakannya dengan nama yang sama dengan file yang Anda unduh, hanya dengan ekstensi .php. Sebagai contoh:
    huge_document.php
  3. Buka blok PHP di dokumen Anda:
  4. Pada baris berikutnya, atur header HTTP:
    header ("Content-disposition: attachment; filename = huge_document.pdf");
  5. Kemudian atur jenis MIME dari file:
    header ("Content-type: application / pdf");
  6. Arahkan ke file yang ingin Anda unduh:
    readfile ("huge_document.pdf");
  7. Kemudian tutup blok PHP dan simpan file:
    ?>
  1. File PHP Anda akan terlihat seperti ini:
    header ("Content-disposition: attachment; filename = huge_document.pdf");
    header ("Content-type: application / pdf");
    readfile ("huge_document.pdf");
    ?>
  2. Tautkan ke file PHP Anda sebagai tautan unduhan dari laman web. Sebagai contoh:
    Unduh dokumen besar saya (PDF)

Seharusnya tidak ada spasi atau carriage return di mana saja dalam file (kecuali setelah titik koma). Baris kosong akan menyebabkan PHP menjadi default ke jenis teks / html MIME dan file Anda tidak akan diunduh.