2016-04-11 3 views
0

Я хочу загрузить файлы, которые я загрузил на сервер, в .zip-файле с помощью PHP. Файлы не размещаются в одной папке.Загрузка файлов с сервера в формате .zip

Папки называются такими: idClub.'-'.idEvent.'-'.idOrderItem.

IdClub и idEvent всегда одинаковы, и это idOrderItem, которые меняются.

Мы можем получить OrderItem идентификаторы из этого запроса:

select idOrderItem from order_item when idEvent = $idEvent 

$ idEvent: является параметром, учитывая функцию, которые загружают файлы.

Так есть ли пример сценария?

+3

Возможные дубликата [Создание ZIP-файл: PHP] (http://stackoverflow.com/questions/11540339/creating-zip-file-php) – DevDonkey

ответ

1

Надежда что-то вроде это работает:

$query= "select idOrderItem from order_item when idEvent = ".$idEvent; 
if ($result = $mysqli->query($query)) { 
    $zip = new ZipArchive; 

    /* fetch associative array */ 
    while ($row = $result->fetch_assoc()) { 
     $folder_path = '/path/to/idClub-idEvent-'.$row['idOrderItem'].'/'; 
     if ($zip->open('yourzipname.zip') === TRUE) { 
      foreach (glob($folder_path."*.*") as $filename) { 
       $zip->addFile($folder_path.$filename, $filename); 
      } 
     } 
    } 
    $zip->close();   
} 
+0

I не знаю, имена файлов, они должны быть динамически в команде addFile, так как мы можем это решить? – user2285831

+0

вы можете использовать функцию glob в php для сканирования каталога и чтения имен файлов. См. Обновленный ответ. – VipindasKS

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