Location: PHPKode > scripts > Simple PHP Upload > php_upload.php
<?php

//****************************
//  Simple PhpUpload Class   |
//     Writed 14.12.2010     |
//     Slavomir Mikolaj      |
//***************************|

 class PhpUpload {
 
   public $Var_ReturnOutput = false;
   public $Var_ext = array();
   public $Var_FullDisplay = false;
   public $Var_InstanceName = 'Upload1';
   public $Var_MsgError = 'Error occured';
   public $Var_MsgDone = 'Completed!';
   public $Var_UploadDir = '/';
   public $Var_ErrorTypes = array();
   public $Var_ReturnBool = false;
   public $Var_Ext = array();
   public $Var_MaxSize = 0;
   public $Ext = '';
   public $Var_NewName = '';
   
   public function SetExts($array) {   
    $node_array = explode('|', $array); 
      
    foreach($node_array as $item) {
     array_push($this->Var_Ext, $item);
    }     
   }
   
   public function SetMaxSize($int) {
    $this->Var_MaxSize = $int * 1000; 
   }
   
   public function NewName($str) {
    $this->Var_NewName = $str;
   }
   
   public function SetErrorTypes($type1, $type2, $type3, $type4) {  
   
    $type4 = str_replace(array('$'), array($this->Var_MaxSize / 1000), $type4);
    $this->Var_ErrorTypes = array(1=>$type1, 6=>$type2, 19=>$type3, 20=>$type4); 
       
   }
   
   public function ReturnBool($bool) {  
    $this->Var_ReturnBool = $bool;    
   }
   
   public function ReturnOutput($bool) {
    $this->Var_ReturnOutput = $bool;    
   }
   
   public function FullDIsplay($bool) { 
    $this->Var_FullDisplay = $bool;              
   }
   
   public function SetUploadDir($dir) {
    $this->Var_UploadDir = $dir;    
   }
   
    
   function ShowUpload($instance, $uploadfile = '', $formid = 'uploadform', $submitvalue = 'Upload') {
    global $Var_FullDisplay;
    global $Var_ReturnOutput;
    global $Var_InstanceName;
    global $Var_UploadDir;
        
    $Var_InstanceName = $instance;
    $a='';      
       
     if($this->Var_FullDisplay == true) {     
       $a .= '<form method="post" id="'.$formid.'" action="'.$uploadfile.'" enctype="multipart/form-data">';
       $a .= '<input type="file" name="'.$instance.'"/>';
       $a .= '<input type="submit" value="'.$submitvalue.'" name="upload" />';   
       $a .= '</form>';       
     }else {
       $a .= '<input type="file" name="'.$instance.'"/>';     
     }
         
     if($Var_ReturnOutput != true) {
      echo $a;
     }else {     
      return $a;
     }
   }
    
   function TryUpload() {
    global $Var_InstanceName;
    global $Var_UploadDir;
    
     $FalseUpload = false;
       
             
    if(strlen($this->Var_UploadDir) <= 0) {   
     if(!$this->Var_ReturnOutput) {
     
     if($this->Var_ReturnBool) {return false; exit;}
     
      echo 'System error: nothing upload folder'; 
       exit;
       
     }else {
    
      return 'System error: nothing upload folder';
       exit;
     }          
    }
         
    if(isset($_FILES[$Var_InstanceName]) && strlen($_FILES[$Var_InstanceName]['name'])>0) {
                                     
     if($_FILES[$Var_InstanceName]['error'] > 0) {  
     
      if($this->Var_ReturnBool) {return false; exit;}
      
      if(!$this->Var_ReturnOutput) {
       echo $this->Var_ErrorTypes[$_FILES[$Var_InstanceName]['error']]; 
        exit;
      }else {
       return $this->Var_ErrorTypes[$_FILES[$Var_InstanceName]['error']];
        exit;
      }
      
     }       
       //
     if($_FILES[$Var_InstanceName]['size'] > $this->Var_MaxSize) {
      
       if($this->Var_ReturnBool) {return false; exit;}
       
       if(!$this->Var_ReturnOutput) {   
        echo $this->Var_ErrorTypes[20]; 
       }else {    
        return $this->Var_ErrorTypes[20];     
       }         
       exit; 
     }
       //
      $node_array = explode('.', $_FILES[$Var_InstanceName]['name']);      
      $fExt = strtolower(end($node_array));
      $this->Ext = $fExt;
      
      if(!in_array($fExt, $this->Var_Ext)) {
      
       if($this->Var_ReturnBool) {return false; exit;}
       
      if(!$this->Var_ReturnOutput) {   
        echo $this->Var_ErrorTypes[19]; 
       }else {    
        return $this->Var_ErrorTypes[19];     
       }        
       exit;
      }
             
     try {   
     
      if(strlen($this->Var_NewName)>0) {
       $process = move_uploaded_file($_FILES[$Var_InstanceName]['tmp_name'], $this->Var_UploadDir.$this->Var_NewName);
      }else {
       $process = move_uploaded_file($_FILES[$Var_InstanceName]['tmp_name'], $this->Var_UploadDir.basename($_FILES[$Var_InstanceName]['name']));
      }
        
      if($process) {
        
       if($this->Var_ReturnBool) {return true; exit;}
      
       if(!$this->Var_ReturnOutput) {
        echo $this->Var_MsgDone;
        }else {
       
       return $this->Var_MsgDone;

       }
      }  
        
     } catch (Exception $e) {
     
       if($this->Var_ReturnBool) {return false; exit;}
     
       if(!$this->Var_ReturnOutput) {   
        echo $this->Var_MsgError.': '.$e;     
       }else {    
        return $this->Var_MsgError.': '.$e;      
       }                     
      }   
    }      
   }
 }

?>
Return current item: Simple PHP Upload