Google Ads

New Download File using PHP/MySQL PHP Script

New Download File using PHP/MySQL PHP Script

In my previous tutorial, I’ve created a Simple File Upload using PHP/MySQLi. As a follow-up, I’ve created another tutorial on how to create a Simple File Download. Most files can be easily download by clicking their link. However, some files cannot be downloaded by doing so. Thus, I’ve created this tutorial. This tutorial will not give you a good design, but will give you a good idea about the topic.

Creating our Database

First, we’re going to create our database. This contains the location of our files.
1. Open phpMyAdmin.
2. Click databases, create a database and name it as “download”.
3. After creating a database, click the SQL and paste the below code. See image below for detailed instruction.


  1. CREATE TABLE `file` (
  2. `fileid` INT(11) NOT NULL AUTO_INCREMENT,
  3. `file_location` VARCHAR(150) NOT NULL,
  5. (`fileid`)



Inserting Data in to our Database

Next step is to insert example data into our database. This will serve as our sample data.
1. Click “dowload” database that we have created earlier.
2. Click SQL and paste the code below.

  1. INSERT INTO `file` (`file_location`) VALUES
  2. (‘upload/butterfly.jpeg’),
  3. (‘upload/cherry.jpeg’),
  4. (‘upload/rose.jpeg’);

Creating our Connection

Next step is to create a database connection and save it as “conn.php”. This file will serve as our bridge between our form and our database. To create the file, open your HTML code editor and paste the code below after the tag.

  1. <?php
  2. //MySQLi Procedural
  3. $conn = mysqli_connect(“localhost”,“root”,“”,“download”);
  4. if (!$conn) {
  5. die(“Connection failed: “ . mysqli_connect_error());
  6. }
  7. ?>

Creating our File Source

I’ve included in the file of this tutorial, the folder named “upload” which contains our sample files.

Creating our Table

Next is to create our sample table. This contains the data that we inserted earlier and our download link. We name this as “index.php”.

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>How to Download File using PHP/MySQLi</title>
  5. </head>
  6. <body>
  7. <h2>Sample Images</h2>
  8. <table border=”1″>
  9. <thead>
  10. <th>File Location</th>
  11. <th>Action</th>
  12. </thead>
  13. <tbody>
  14. <?php
  15. include(‘conn.php’);
  16. $query=mysqli_query($conn,“select * from file”);
  17. while($row=mysqli_fetch_array($query)){
  18. ?>
  19. <tr>
  20. <td><?php echo $row[‘file_location’]; ?></td>
  21. <td><a href=”download.php?file=<?php echo urlencode($row[‘file_location’]); ?>“>Download</a></td>
  22. </tr>
  23. <?php
  24. }
  25. ?>
  26. </tbody>
  27. </table>
  28. </body>
  29. </html>

Creating our Download Code

Lastly, We create our download code. This code will download the file when user clicks the download link of that file. We name this as “download.php”.

  1. <?php
  2. $filePath=urldecode($_REQUEST[‘file’]);
  3. if(file_exists($filePath)) {
  4. $fileName = basename($filePath);
  5. $fileSize = filesize($filePath);
  6. header(“Cache-Control: private”);
  7. header(“Content-Type: application/stream”);
  8. header(“Content-Length: “.$fileSize);
  9. header(“Content-Disposition: attachment; filename=”.$fileName);
  10. readfile ($filePath);
  11. exit();
  12. }
  13. else {
  14. die(‘The provided file path is not valid.’);
  15. }
  16. ?>




Related Post

HRM v1.1 – Workable Zone PHP Script Download HRM v1.1 - Workable ZoneHRM v1.1 - Workable ZoneWorkable Zone is probably one of most customizable Human resource(HR) management software for companie...
ANTI DDOS v2 PHP Script Download ANTI DDOS v2 PHP Script Download The attacker's request is already being sent to the web-server and through to the PHP script. The bottle-neck whic...
Auto Grid Responsive Gallery PHP Script Download Auto Grid Responsive GalleryAuto Grid Responsive GalleryThis is a plugin that scans a folder in your server and its subfolders containing images. The ...
Advocate Office Management System v1.3 PHP Script ... Advocate Office Management System v1.3 Advocate Office Management System v1.3 Advocate Office Management System is a web based application for advocat...
Online Exam system v2 PHP Script Online Exam system v2 PHP Script Hello everyone, this is an online examination system that can be used to test student. User login without register...

Have any Question or Comment?

Leave a Reply

Your email address will not be published. Required fields are marked *