<?php
 
 
/**
 
@authour olaoluwa olorunda
 
 
 This program is open-source and part or all of it can be modified to suit your specific needs , 
 
 if you have any modification or suggestion to make this class better, contact me 
 
 @email [email protected] 
 
 
 
 
**/
 
 
 
class upload{
 
public $filetype , $inputname , $uploadpath , $allowedsize  , $imagename ,$width , $height, $error;
 
 
 
 
function upload(){
 
 
if(isset($_FILES[$this->inputname]["name"])){
 
//allowed extension condition
 
if($this->filetype=='image'){
 
$allowedExts = array("gif", "jpeg", "jpg","JPG", "png");
 
}
 
else if($this->filetype=='audio'){
 
$allowedExts = array("mp3", "wav", "mp4","m4a", "3gp");
 
}
 
else if($this->filetype=='document'){
 
$allowedExts = array("pdf", "doc", "docx","txt", "rtf","xls");
 
 
}
 
else if($this->filetype=='any'){
 
$allowedExts = array("pdf", "doc", "docx","txt", "rtf","xls","mp3", "wav", "mp4","m4a", "3gp","gif", "jpeg", "jpg","JPG", "png");
 
 
}
 
 
 
$temp = explode(".", $_FILES[$this->inputname]["name"]);
 
 
$extension = end($temp);
 
 
$size=$this->allowedsize*1024;
 
 
 
if($this->filetype=='image'){
 
 
$imagesize=getimagesize($_FILES[$this->inputname]["tmp_name"]) ;
 
 
}
 
else{
 
 
$imagesize=array(1000,1000);
 
}
 
if(!isset($this->width)&&!isset($this->height)){
 
$this->width=1000000;
 
$this->height=100000;
 
 
}
 
 
 
if (($_FILES[$this->inputname]["size"] < $size) &&$imagesize[0]<=$this->width &&$imagesize[1]<=$this->height&& in_array($extension, $allowedExts) ) {
 
 
 if ($_FILES[$this->inputname]["error"] > 0 ) {
 
          $this->error='upload error because'.$_FILES[$this->inputname]["error"];
 
    return false;
 
  }
 
  
 
  else {
 
  //move file from temp directory to real directory
 
   move_uploaded_file($_FILES[$this->inputname]["tmp_name"], $this->uploadpath . $_FILES[$this->inputname]["name"]);
 
    $this->imgname=$_FILES[$this->inputname]["name"];
 
      
 
            return true;
 
      }
 
        
 
        }
 
        
 
        else{
 
        
 
        if($imagesize[0]>$this->width &&$imagesize[1]>$this->height){
 
         $this->error='Upload error becauae file dimension is not '.$this->width.' X '.$this->height;
 
        }
 
        else{
 
                  $this->error='File Extension Not Supportted';
 
        }
 
        }
 
        }
 
        
 
      else {
 
      $this->error=' error input type name not specified';
 
      return false;
 
      }
 
      }
 
      }
 
      
 
 |