MOON
Server: Apache
System: Linux nserver.cafsindia.com 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: cafsindia (1002)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: /home/cafsindia/uds.cafsinfotech.in/application/controllers/File_uploading.php
<?php if ( ! defined('BASEPATH')) exit('No direct script is allowed');
require_once("Action_controller.php");
class File_uploading  extends Action_controller{	
	public function __construct(){
		parent::__construct('file_uploading');
	}
	// LOAD PAGE QUICK LINK,FILTERS AND TABLE HEADERS
	public function index(){
		$this->load->view("$this->control_name/manage",$data);
	}

	public function upload_documents()
	{
    	$process_month = $this->input->post('process_month');
    	$file          = $this->input->post('file');
    	// Validate if a process month is provided; otherwise, use the uploaded file name
        if(!$process_month){
            $file_path = "./emp_documents/$file/";
        }else{
            $file_path = "./emp_documents/$file/$process_month/";
        }
    	if(!file_exists($file_path)){
    	    mkdir($file_path, 0777, true);
    	}
    	if(!isset($_FILES['file']) || !is_array($_FILES['file']['name'])){
    	    echo json_encode(array('success' => false, 'message' => 'No files uploaded.'));
    	    exit;
    	}
    	$filesNum = count($_FILES['file']['name'] ?? []);
    	for($i = 0;$i<$filesNum;$i++) {
    	    $file_name      = $_FILES['file']['name'][$i];
    	    $file_tmp       = $_FILES['file']['tmp_name'][$i];
    	    $uploaded_file  = $file_path . $file_name;  
    	    // Validate file extension
    	    $file_extension = pathinfo($uploaded_file, PATHINFO_EXTENSION);
    	    if(in_array($file_extension ?? [], ['zip', 'pdf','rar'])) {
    	        if(move_uploaded_file($file_tmp, $uploaded_file)) {
    	            // File uploaded successfully
    	            if($file_extension === 'zip'){
    	                // Unzip the uploaded zip file
    	                $zip = new ZipArchive();
    	                if ($zip->open($uploaded_file) === true){
    	                    $zip->extractTo($file_path);
    	                    $zip->close();
    	                    unlink($uploaded_file); // Remove the uploaded zip file
    	                }
    	            }elseif($file_extension === 'rar'){
    	                // Unrar the uploaded rar file
    	                $rar = RarArchive::open($uploaded_file);
    	                if($rar !== false){
    	                    $entries = $rar->getEntries();
    	                    foreach($entries as $entry){
    	                        $entry->extract($file_path);
    	                    }
    	                    $rar->close();
    	                    unlink($uploaded_file); // Remove the uploaded rar file
    	                }
    	            }
    	        }else{
    	            echo json_encode(array('success' => false, 'message' => 'Error while uploading the file.'));
    	            exit;
    	        }
    	    }else{
    	        echo json_encode(array('success' => false, 'message' => 'Only zip and pdf files are allowed.'));
    	        exit;
    	    }
    	}
    	echo json_encode(array('success' => true, 'message' => 'Files uploaded and processed successfully.'));
	}
}
?>