Welcome Guest, Not a member yet? Register   Sign In
How to multiupload to create zip file in codeigniter 4.35
#1

(This post was last modified: 05-22-2023, 02:56 AM by startup.)

i have function below:
PHP Code:
public function multipleUpload() 
    {
        $filesUploaded 0;
        if($this->request->getFileMultiple('fileuploads'))
        {
            $files $this->request->getFileMultiple('fileuploads');
            foreach ($files as $file) {
                if ($file->isValid() && ! $file->hasMoved())
                {
                    $newName $file->getRandomName();
                    $dm $file->move('publics/uploads'$newName);
                    $data = [
                        'filename' => $file->getClientName(),
                        'filepath' => 'publics/uploads/' $newName,
                        'type' => $file->getClientExtension()
                    ];
                    
                    $fileUploadModel 
= new FileUploadModel();
                    $fileUploadModel->save($data);
                    $filesUploaded++;
                }

            }
        

can someone show me how to zip file in upload file above:
thank you for helping

Note
i dont know this function is right or wrong but working for me. so i note someone need.
PHP Code:
<?php
namespace App\Controllers;
use 
App\Controllers\BaseController;
use 
App\Models\FileUploadModel;
use 
ZipArchive;
class 
FileUpload extends BaseController
{
    public function 
index()
    {
        
$fileUploadModel = new FileUploadModel();
        return 
view('file-upload', ['fileUploads' => $fileUploadModel->orderBy('created_at''asc')->findAll()]);
    }
    public function 
multipleUpload(){
        
$fileUploadModel = new FileUploadModel();
        
$filesUploaded 0;
        if(
$this->request->getFileMultiple('fileuploads')){
            
$error ='';
            
$zip = new ZipArchive();
            
$files $this->request->getFileMultiple('fileuploads');
            
//create name zip file
            
$zip_name getcwd() . '/public/uploads/Parking_' date('d_m_Y_H_i').'_BX.zip';
            if (
$zip->open($zip_nameZipArchive::CREATE) !== TRUE){
                
$error.= "Sorry ZIP creation is not working currently.<br/>";
            }
            
$getName 'Parking'.'_'.date('d_m_Y_H_i').'_BX.zip';
            foreach (
$files as $file){
                if (
$file->isValid() && ! $file->hasMoved()){
                    
$zip->addFromString($file->getName(), file_get_contents$file->getTempName()));
                    
$data = [
                        
'filename' => $getName,
                        
'filepath' => $getName,
                        
'type' => 'zip'
                    
];
                    
$filesUploaded++;
                }
            }
            if(!
$filesUploaded){
            return 
redirect()->back()->with('error''Choose files to upload.');
        }else{
            
$fileUploadModel->save($data);
            return 
redirect()->back()->with('success'$filesUploaded ' File/s uploaded successfully.');
            
$zip->close();
        }
        }
    }


thank you CI
Reply
#2

Create Zip File of Multiple Uploaded Files using PHP
What did you Try? What did you Get? What did you Expect?

Joined CodeIgniter Community 2009.  ( Skype: insitfx )
Reply




Theme © iAndrew 2016 - Forum software by © MyBB