2016-12-31 12 views
-3

У меня есть три файла hash_a.php, hash_b.php, /morefiles/hash_c.php в корневом каталоге.ZipArchive Multile Files/Folders

Я хочу закрепить его клиентом и передать его, но не таким образом.

Я хочу, чтобы отправить клиенту что-то вроде

FILE.ZIP

root 
|_folder1 
    |_a.php 
    |_b.php 
    |_c.php 

возможно с помощью PHP?

+1

Вы что-то пробовали? –

+0

да, я получил его, я не читал ziparchive docs sorry lol – user7339434

+0

«да, я понял» - ваш вопрос решен? – MathSquared

ответ

0

Прежде всего, вам нужно создать функцию, похожую на код ниже. И передать все файлы в функцию.

function create_zip($files = array(),$destination = '',$overwrite = false) { 
    //if the zip file already exists and overwrite is false, return false 
    if(file_exists($destination) && !$overwrite) { return false; } 
    //vars 
    $valid_files = array(); 
    //if files were passed in... 
    if(is_array($files)) { 
     //cycle through each file 
     foreach($files as $file) { 
      //make sure the file exists 
      if(file_exists($file)) { 
       $valid_files[] = $file; 
      } 
     } 
    } 
    //if we have good files... 
    if(count($valid_files)) { 
     //create the archive 
     $zip = new ZipArchive(); 
     if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) { 
      return false; 
     } 
     //add the files 
     foreach($valid_files as $file) { 
      $zip->addFile($file,$file); 
     } 
     //debug 
     //echo 'The zip archive contains ',$zip->numFiles,' files with a status of ',$zip->status; 

     //close the zip -- done! 
     $zip->close(); 

     //check to make sure the file exists 
     return file_exists($destination); 
    } 
    else 
    { 
     return false; 
    } 
} 

После создания функции. Передайте файлы функции, которые вам нужны для zip. Код будет выглядеть следующим образом.

$files_to_zip = array(
    'preload-images/1.jpg', 
    'preload-images/2.jpg', 
    'preload-images/5.jpg', 
    'kwicks/ringo.gif', 
    'rod.jpg', 
    'reddit.gif' 
); 
//if true, good; if false, zip creation failed 
$result = create_zip($files_to_zip,'my-archive.zip'); 

Этот код внесет .Zip-файл с файлами, которые вам нужны.

 Смежные вопросы

  • Нет связанных вопросов^_^