-->

Upload File Dan Preview PDF Dengan PHP

Upload & Preview PDF


Mengupload file serta preview PDF menggunakan PHP - Nah pada kesempatan kali ini wahidun1 ingin berbagi bagaimana cara upload file dan preview pdf menggunkan PHP. Pada pembuatan program kali ini kita hanya perlu membuat 2 file php dan 1 folder untuk menyimpan file pdf yang nantinya kita upload ke dalam mysql.  
File Upload & Preview PDF

oke langsung saja kita masuk ke pembahasanya.

Database

-- phpMyAdmin SQL Dump
-- version 5.0.2
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Waktu pembuatan: 21 Agu 2021 pada 10.31
-- Versi server: 10.4.13-MariaDB
-- Versi PHP: 7.4.7

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `previewpdf`
--

-- --------------------------------------------------------

--
-- Struktur dari tabel `data`
--

CREATE TABLE `data` (
  `id` int(11) NOT NULL,
  `files` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

--
-- Dumping data untuk tabel `data`
--

INSERT INTO `data` (`id`, `files`) VALUES
(1, 'File 1.pdf'),
(2, 'File 2.pdf');

--
-- Indexes for dumped tables
--

--
-- Indeks untuk tabel `data`
--
ALTER TABLE `data`
  ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT untuk tabel yang dibuang
--

--
-- AUTO_INCREMENT untuk tabel `data`
--
ALTER TABLE `data`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

Pembuatan Halaman Index

<?php
$koneksi = mysqli_connect("localhost", "root", "", "previewpdf");
?>
<!-- style -->
<style>
    table, th, td{
        border:1px solid black;
        width:250px;
        text-align: center;
    }
</style>
<title>Input File & Preview PDF</title>
<!-- content -->
<center>
    <h4>Menginput File Serta Preview PDF</h4><br>

    <form method="post" enctype="multipart/form-data">
        <input type="file" name="files"><button type="submit" name="add">Tambah</button><br>
    </form>

    <table>
        <tr>
            <th style="width:20px;">No</th>
            <th>Files Name</th>
            <th>Action</th>
        </tr>
        <?php
        $no = 1;
        $sql = $koneksi->query("SELECT * FROM data");
        while($data = $sql->fetch_assoc()){
        ?>
        <tr>
            <td><?= $no; ?></td>
            <td><?= $data['files'];?></td>
            <td><a href="pdf.php?id=<?= $data['id'];?>" target="_BLANK">Preview</a></td>
        </tr>
        <?php $no++;?>
        <?php } ?>
    </table>
</center>
Setelah Membuat Form input file dan table untuk menampilkan data dari database, langkah yang selanjutnya adalah membuat fungsi untuk mengupload file.

<?php
if(isset($_POST['add'])){
    $file = $_FILES['files']['name'];
    $lokasi = $_FILES['files']['tmp_name'];

    $ekstensiFileValid = ['pdf'];
    $ekstensiFile = explode('.', $file);
    $ekstensiFile = strtolower(end($ekstensiFile));

    if( !in_array($ekstensiFile, $ekstensiFileValid) ){
        echo"
        <script>
        alert('Pastikan File Berektensi PDF');
        </script>
        ";
        return false;
    }
    move_uploaded_file($lokasi, "file_pdf/".$file);
    
    $koneksi->query("INSERT INTO data(id, files)VALUES('', '$file')");
    echo "<script>alert('Data Berhasil Ditambahkan');document.location='index.php';</script>";
}
?>
Code ini bisa kalian letakan setelah tag </center>. Pada kondisi ;
 if( !in_array($ekstensiFile, $ekstensiFileValid) ){
        echo"
        <script>
        alert('Pastikan File Berektensi PDF');
        </script>
        ";
        return false;
}
Kondisi tersebut dibuat untuk melakukan pengecekan file yang akan di upload, jika file yang di upload bukan pdf maka akan menampilkan pesan error.
Sedangkan untuk menentukan ekstensi file yang ingin di upload terdapat pada code;
$ekstensiFileValid = ['pdf'];
kalian juga bisa menambahkan ekstesnsi lainya seperti docx dan lainya.

Untuk Penyimpanan data file kalian bisa membuat folder dengan nama apa saja, disini saya membuat dengan nama 'file_pdf'.Untuk memindahkan penyimpanan pada folder yang dibuat terdapat pada code;
move_uploaded_file($lokasi, "file_pdf/".$file);
Output Index Upload & Preview PDF

Halaman Preview PDF

Dihalaman ini terdapat variabel global $_GET untuk meminta id dari link halaman index.

<?php
$koneksi = mysqli_connect("localhost", "root", "", "previewpdf");

$id = $_GET['id'];
$sql = $koneksi->query("SELECT * FROM data WHERE id='$id'");
$result = $sql->fetch_assoc();
?>

<title>Preview PDF</title>

<embed src="file_pdf/<?= $result['files'];?>" type="application/pdf" width="100%" height="100%">
Ouput preview PDF

Download Source Code