Days
Hours
Minutes
Seconds

Promo Grand Opening

15% OFF

Khusus Pelanggan Baru

Download File dengan CodeIgniter

 

 

Tutorial ini akan memandu Anda dalam mengimplementasikan fitur download file menggunakan framework CodeIgniter.


 

Langkah 1: Persiapan File

 

Siapkan file yang akan di-download. Sebagai contoh, buat sebuah file bernama dokumen.pdf dan letakkan di dalam direktori uploads (direktori yang sama yang kita gunakan pada tutorial upload). Tentu saja, Anda bisa menggunakan jenis file lain sesuai kebutuhan.

 

Langkah 2: Membuat Controller

 

Buat sebuah controller di application/controllers/ dengan nama Download.php.

Saya akan membuat sebuah controller dengan satu metode untuk menangani proses download.

application/controllers/Download.php:

 

 

**

 

PHP

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Download extends CI_Controller {

 public function __construct() {
  parent::__construct();
  $this->load->helper('download');
  $this->load->helper('url'); // Untuk membuat URL
 }

 public function index() {
  $data['nama_file'] = 'dokumen.pdf'; // Nama file yang akan di-download
  $this->load->view('download_view', $data);
 }

 public function unduh($nama_file) {
  $path = FCPATH . 'uploads/' . $nama_file;
  $data = file_get_contents($path); // Baca isi file
  force_download($nama_file, $data);
 }
}

 

Penjelasan Kode

 

  • $this->load->helper('download');: Baris ini memuat helper download yang menyediakan fungsi force_download().
  • $this->load->helper('url');: Baris ini memuat helper url untuk membuat URL di view.
  • index(): Metode ini menyiapkan data nama file dan meload view download_view.php.
  • unduh($nama_file): Metode ini menerima nama file sebagai parameter.
    • $path = FCPATH . 'uploads/' . $nama_file;: Menentukan path lengkap ke file yang akan di-download. FCPATH adalah konstanta yang berisi path ke direktori root proyek Anda.
    • $data = file_get_contents($path);: Membaca seluruh isi file ke dalam sebuah string.
    • force_download($nama_file, $data);: Fungsi utama untuk memulai proses download. Parameter pertama adalah nama file yang akan ditampilkan saat download, dan parameter kedua adalah data file.

 

Langkah 3: Membuat View

 

Buat sebuah view di application/views/ dengan nama download_view.php.

Saya akan membuat sebuah view sederhana yang menampilkan link untuk memulai proses download.

application/views/download_view.php:

 

 

 

 

HTML

<!DOCTYPE html>
<html>
<head>
 <title>Download File</title>
</head>
<body>
 <h1>Download File</h1>

 <p>Klik link di bawah ini untuk mengunduh file:</p>
 <p><a href="<?php echo site_url('download/unduh/' . $nama_file); ?>">Download <?php echo $nama_file; ?></a></p>

</body>
</html>

 

Penjelasan Kode

 

  • <a href="<?php echo site_url('download/unduh/' . $nama_file); ?>">Download <?php echo $nama_file; ?></a>: Baris ini membuat sebuah link.
    • site_url('download/unduh/' . $nama_file): Fungsi ini menghasilkan URL yang mengarah ke metode unduh pada controller Download, dengan nama file ($nama_file) sebagai parameter.

 

Selesai!

 

Sekarang, Anda dapat mengakses http://localhost/nama_proyek/index.php/download di browser Anda. Anda akan melihat sebuah halaman dengan link untuk men-download file dokumen.pdf (atau file lain yang Anda tentukan). Ketika link diklik, browser akan secara otomatis memulai proses download. Pastikan file dokumen.pdf ada di direktori uploads proyek Anda.

Wawasan Terbaru

Gemini_Generated_Image_wfw5uwwfw5uwwfw5
Mengenal Dunia Grafis: Dari Piksel Hingga Vektor, Kekuatan Visual di Era Digital
Gemini_Generated_Image_b6dimfb6dimfb6di
Mengenal Foundation: Kerangka Kerja Front-End Profesional untuk Web Responsif
Gemini_Generated_Image_sx3ztpsx3ztpsx3z
CSS
Mempercantik Website dengan CSS: Seniman di Balik Tampilan Web 🎨
Gemini_Generated_Image_e013qke013qke013
Mengenal HTML: Fondasi dari Setiap Halaman Website 🌐
Gemini_Generated_Image_ldki4nldki4nldki
Menyelami Dunia Coding: Seni Berbicara dengan Komputer
Gemini_Generated_Image_dpvliydpvliydpvl
Menguasai GIT: Fondasi Penting dalam Dunia Pengembangan Perangkat Lunak
Gemini_Generated_Image_sqcib9sqcib9sqci
Tutorial Python #12: Mengenal Jenis-jenis Operator dalam Python
Gemini_Generated_Image_o1bw3do1bw3do1bw
Memahami Tipe Data Dictionary dalam Python
Gemini_Generated_Image_ko4ixfko4ixfko4i
Mengenal Tipe Data Set dalam Python
Gemini_Generated_Image_1xop7m1xop7m1xop
Tuple dalam Python: Pengenalan dan Tutorial

Wawasan Serupa

Gemini_Generated_Image_4mxd334mxd334mxd
Gemini_Generated_Image_ursc84ursc84ursc
ef5c8286-b6c4-4e25-b155-697374d570dc
Gemini_Generated_Image_m1hsycm1hsycm1hs

Ceritakan Detail Proyekmu

Mulai dari 30K aja, solusi IT kamu langsung jalan tanpa drama.

Kata Mereka Tentang Solusi Coding

Dipercaya oleh lebih dari 200++ client untuk menyelesaikan proyeknya dengan total 250++ proyek dari berbagai jenis proyek