Menggunakan PHP untuk Membuat Aplikasi Manajemen Dokumen

dani indra

Membangun Aplikasi Manajemen Dokumen dengan PHP

Dalam era digital saat ini, manajemen dokumen menjadi krusial untuk organisasi dan perusahaan. Keberhasilan suatu entitas sering kali bergantung pada efisiensi dalam mengelola dan menyimpan dokumen. Dengan menggunakan PHP, sebuah bahasa pemrograman server-side yang populer, kita dapat membuat aplikasi manajemen dokumen yang efektif dan mudah diakses. Artikel ini akan membahas langkah-langkah untuk membangun aplikasi manajemen dokumen sederhana menggunakan PHP.

1. Pendahuluan

Sebelum memulai, pastikan server web Anda mendukung PHP. Install dan konfigurasikan server seperti Apache atau Nginx dan pastikan PHP sudah terpasang.

2. Struktur Proyek

Buat struktur dasar proyek Anda. Misalnya:

|- /manajemen_dokumen
   |- /uploads
   |- index.php
   |- upload.php
   |- download.php
   |- database.php
  • Direktori “uploads” akan digunakan untuk menyimpan file-file yang diunggah.
  • index.php akan menampilkan daftar dokumen dan formulir unggahan.
  • upload.php akan memproses unggahan dokumen.
  • download.php akan menangani proses pengunduhan dokumen.
  • database.php akan berisi konfigurasi dan fungsi-fungsi untuk mengakses database.

3. Database

Gunakan MySQL atau database lainnya untuk menyimpan informasi dokumen. Buat tabel “documents” dengan kolom-kolom seperti id, filename, dan timestamp.

CREATE TABLE documents (
    id INT AUTO_INCREMENT PRIMARY KEY,
    filename VARCHAR(255) NOT NULL,
    timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

4. Kode PHP Dasar

a. database.php

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "nama_database";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Koneksi gagal: " . $conn->connect_error);
}
?>

b. index.php

<?php
include 'database.php';

// Query untuk mendapatkan daftar dokumen
$sql = "SELECT * FROM documents";
$result = $conn->query($sql);
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Manajemen Dokumen</title>
</head>
<body>
    <h2>Daftar Dokumen</h2>
    <ul>
        <?php
        while ($row = $result->fetch_assoc()) {
            echo "<li><a href='download.php?id={$row['id']}'>{$row['filename']}</a></li>";
        }
        ?>
    </ul>

    <h2>Unggah Dokumen</h2>
    <form action="upload.php" method="post" enctype="multipart/form-data">
        <input type="file" name="file" required>
        <button type="submit" name="upload">Unggah</button>
    </form>
</body>
</html>

c. upload.php

<?php
include 'database.php';

if (isset($_POST['upload'])) {
    $fileName = $_FILES['file']['name'];
    $fileTmpName = $_FILES['file']['tmp_name'];
    $fileSize = $_FILES['file']['size'];
    $fileError = $_FILES['file']['error'];

    if ($fileError === 0) {
        $fileDestination = 'uploads/' . $fileName;
        move_uploaded_file($fileTmpName, $fileDestination);

        // Simpan informasi dokumen ke database
        $sql = "INSERT INTO documents (filename) VALUES ('$fileName')";
        $conn->query($sql);
    }
}

header("Location: index.php");
exit();
?>

d. download.php

<?php
include 'database.php';

if (isset($_GET['id'])) {
    $id = $_GET['id'];

    // Dapatkan nama file dari database berdasarkan ID
    $result = $conn->query("SELECT * FROM documents WHERE id=$id");
    $row = $result->fetch_assoc();
    $fileName = 'uploads/' . $row['filename'];

    // Mengirim file untuk diunduh
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="' . basename($fileName) . '"');
    readfile($fileName);
}
?>

5. Uji Coba Aplikasi

  • Pastikan server PHP dan MySQL berjalan.
  • Buka index.php di browser.
  • Uji unggah dokumen dan unduh dokumen.

Dengan langkah-langkah di atas, Anda telah membuat aplikasi manajemen dokumen sederhana menggunakan PHP. Selanjutnya, Anda dapat mengembangkan fitur-fitur tambahan seperti otentikasi pengguna, kategori dokumen, dan pencarian untuk meningkatkan fungsionalitasnya.

Leave a Comment