PHPWeb Development

How to upload and validate a image in php

In this tutorial I will explain how to upload a image and how to validate image extension
Create an HTML form with two text field :

  • One is for Image title with input type text.
  • Second one is for upload image with input type file.For file upload input must be file(type=”file”). This input type show the file select control.

  • HTML form must have following attributes :

    • method=”post”
    • enctype=”multipart/form-data” (The enctype attribute specifies how the form-data should be encoded when submitting it to the server.)

    without these attributes , the image upload will not work.

    <form name="uploadimage"  enctype="multipart/form-data" method="post">
    <table width="100%"  border="0">
    <th width="26%" height="60" scope="row">Image Title:</th>
    <td width="74%"><input type="text" name="imagetitle"  autocomplete="off" class="form-control" required /></td>
    <th height="60" scope="row">Upload Image :</th>
    <td><input type="file" name="image"  required /></td>
    <th height="60" scope="row">&nbsp;</th>
    <td><input type="submit" value="Submit" name="submit" class="btn-primary" /></td>

    Create a database with name imagesdata. Inside this database we create a table with name tblimages.
    SQL Script for tblimages—

    CREATE TABLE IF NOT EXISTS `tblimages` (
      `id` int(11) NOT NULL,
      `ImagesTitle` varchar(120) DEFAULT NULL,
      `Image` varchar(150) DEFAULT NULL,
      `PostingDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP

    Now create a database connection file(config.php)

    define('DB_PASS' ,'');
    define('DB_NAME', 'imagesdata');
    $con = mysqli_connect(DB_SERVER,DB_USER,DB_PASS,DB_NAME);
    // Check connection
    if (mysqli_connect_errno())
     echo "Failed to connect to MySQL: " . mysqli_connect_error();

    PHP Script for getting posted  values,  image validation, move images into directory and  insertion data into database

    // Posted Values
    // get the image extension
    $extension = substr($imgfile,strlen($imgfile)-4,strlen($imgfile));
    // allowed extensions
    $allowed_extensions = array(".jpg","jpeg",".png",".gif");
    // Validation for allowed extensions .in_array() function searches an array for a specific value.
    echo "<script>alert('Invalid format. Only jpg / jpeg/ png /gif format allowed');</script>";
    //rename the image file
    // Code for move image into directory
    // Query for insertion data into database
    $query=mysqli_query($con,"insert into tblimages(ImagesTitle,Image) values('$imgtitle','$imgnewfile')");
    echo "<script>alert('Data inserted successfully');</script>";
    echo "<script>alert('Data not inserted');</script>";


    How to run this script 

    1. Download the zip
    2. Extract zip file and put in the root directory
    3. open phpmyadmin. Create a db imagesdata then import SQL file(given inside the package)

    Download full source Code(How to upload and validate a image in php)
    Size: 28 KB
    Version: V 1.0

    Recommended Tutorials for you


    Anuj kumar

    This is Anuj Kumar. I’m a professional web developer with 5+ years of experience. I write blogs in my free time. I love to learn new technologies and share with others. I founded PHPGurukul in September 2015. The main aim of this website to provide PHP, Jquery, MySQL, PHP Oops and other web development tutorials. .


    Leave a Reply

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

    This site uses Akismet to reduce spam. Learn how your comment data is processed.

    Back to top button