2010-02-23 2 views
2

Что является самым простым способом создания динамически zip-файлов с помощью php?Динамическое создание zip с php

Например,

У меня есть эти файлы на сервере,

Root -> Folder 1 -> file1.wav 
Root -> Folder 2 -> file2.jpg 

Я хочу создать почтовый файл содержит эти 2 файла и позволяет пользователю загрузить его.

любая помощь?

Thx заблаговременно

+0

См. Http://stackoverflow.com/search?q=create+zip+php – Gordon

+0

спасибо и извините за dublicate –

ответ

3

См. Класс ZipArchive; он имеет то, что вам нужно.

http://www.php.net/manual/en/class.ziparchive.php

Пример из PHP.net:

<?php 
$zip = new ZipArchive; 
if ($zip->open('test.zip') === TRUE) { 
    $zip->addFile('/path/to/index.txt', 'newname.txt'); 
    $zip->close(); 
    echo 'ok'; 
} else { 
    echo 'failed'; 
} 
?> 

После сжать его, вы можете выводить мим типа заголовка и вывода файла:

header('Content-type: application/zip'); 
readfile('test.zip'); 
+0

он немного отличается на этой странице -> if ($ zip-> open ($ filename, ZIPARCHIVE :: CREATE)! TRUE) { выход ("невозможно открыть <$filename> \ n"); } –

+0

не работает на Linux [ –

0

это рабочий пример создания почтового индекса в php

$zip = new ZipArchive(); 
$zip_name = time().".zip"; // Zip name 
$zip->open($zip_name, ZipArchive::CREATE); 
foreach ($files as $file) { 
    echo $path = "uploadpdf/".$file; 
    if(file_exists($path)){ 
    $zip->addFromString(basename($path), file_get_contents($path)); 
    } 
    else{ 
    echo"file does not exist"; 
    } 
} 
$zip->close(); 
Смежные вопросы