PHP File Upload

You can create file upload functionality by using PHP. Initially, files are uploaded into a temporary directory of the web server and then relocated to a target destination folder by a PHP function.

File upload parameters, i.e. upload_tmp_dir, upload_max_filesize are default set into PHP configuration file php.ini.

Create an HTML Upload-File Form

<form action="" method="post" enctype="multipart/form-data" name="form1">
<input type="file" name="resume" id="resume">
<input type="submit" name="SubmitBtn" id="SubmitBtn" value="Upload Resume">
</form>

HTML form attribute (enctype='multipart/form-data') is required to upload a file.

Creating an PHP File Upload Script

<?php
if(isset($_POST["SubmitBtn"])){

  $fileName=$_FILES["resume"]["name"];
  $fileSize=$_FILES["resume"]["size"]/1024;
  $fileType=$_FILES["resume"]["type"];
  $fileTmpName=$_FILES["resume"]["tmp_name"];  

  if($fileType=="application/msword"){
    if($fileSize<=200){

      //New file name
      $random=rand(1111,9999);
      $newFileName=$random.$fileName;

      //File upload path
      $uploadPath="testUpload/".$newFileName;

      //function for upload file
      if(move_uploaded_file($fileTmpName,$uploadPath)){
        echo "Successful"; 
        echo "File Name :".$newFileName; 
        echo "File Size :".$fileSize." kb"; 
        echo "File Type :".$fileType; 
      }
    }
    else{
      echo "Maximum upload file size limit is 200 kb";
    }
  }
  else{
    echo "You can only upload a Word doc file.";
  }  
}
?> 

By using the PHP global $_FILES array you can upload file from a client computer to the web server.

  • $_FILES["file"]["name"] - uploaded file name
  • $_FILES["file"]["type"] - uploaded file type
  • $_FILES["file"]["size"] - uploaded file size in bytes
  • $_FILES["file"]["tmp_name"] - uploaded file temporary file name
  • $_FILES["file"]["error"] - the error code resulting from the file   upload

Saving the Uploaded File

The examples above create a temporary copy of the uploaded files in the PHP temp folder on the web server and then PHP move_uploaded_file() function relocate uploaded file from temp directory to a our target destination.

The temporarily copied file auto-deleted when the script execution ends.

Restrictions on Upload

The examples above used some validations to ensure file upload as per the requirement.


Scroll Back to Top