Zip-папку и загрузите в codeigniter

public function folderdownload(){
    try{
            $this->load->library('zip');    
            $this->load->helper('file');
            $where =  array(
            'file_perm_id'=>$this->input->post('id'));
            $this->load->model('fetch_model');
            $file_path = $this->fetch_model->getalldata($this->folderpath,$this->master,$where);
            $path = @@$file_path[0]->folder_path ;
            $files = get_filenames($path);
           // when i used print_r($files); to verify that i can see the files i can see it from here 
            foreach($files as $f){
                 if (is_file($path . $f)) 
                $this->zip->add_data($f, file_get_contents($path . $f));

            }
            ob_end_clean();
            $this->zip->download(date('m-d-Y'));
    }catch(Exception $e){
        echo 'Caught exception: ',  $e->getMessage(), "\n";
    }



        }

У меня есть этот контроллер, который после нажатия кнопки загрузки загружает все файлы в папке, но когда я открываю его, он говорит, что архив либо неизвестного формата, либо поврежден. пожалуйста, помогите, я могу скачать файлы и заархивировать это в codeigniter. спасибо всем

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
1 529
2

Ответы 2

Возникла проблема при создании вашего zip-файла.

Я предлагаю вам сначала проверить наличие контента, а затем создать zip-файл и, наконец, загрузить его.

Чтобы создать ZIP-файл

$sourcePath = 'uploads/sourceDirectory';
$targetPath = 'uploads/destDirectory';    
if (file_exists($sourcePath)){
        if (!copy($sourcePath, $targetPath)){ //Copy file source to destination directory
              return ['status' => false, 'msg' => 'File missing'];  
          }
}

if (file_exists($targetPath)){ // check target directory
       $this->zip->read_dir($targetPath,False); // read target directory
       if (!$this->zip->archive($targetPath.'.zip')){ // zip target directory
            return ['status' => false, 'msg' => 'Zip file creation Failed!'];
       }else{
            return ['status' => false, 'msg' => 'Zip file Created'];
       }
}
public function folderdownload(){

    try{
            $this->load->library('zip');    
            $this->load->helper('file');
            $where =  array(
            'file_perm_id'=>$this->input->get('id'));
            $this->load->model('fetch_model');
            $file_path = $this->fetch_model->getalldata($this->folderpath,$this->master,$where);
            $path =$file_path[0]->folder_path ;
            $finallink = ($_SERVER['DOCUMENT_ROOT'] . "/cobacfms/" . $path);
            $this->zip->read_dir(($finallink), false);
            $this->zip->download(date('m-d-Y'));
    }catch(Exception $e){
        echo 'Caught exception: ',  $e->getMessage(), "\n";
    }



        }

Это решение моей проблемы

Другие вопросы по теме