File: /home/cafsindia/uds.cafsinfotech.in/application/controllers_bk/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.'));
}
}
?>