Dinamik php ile zip oluşturma

2 Cevap

Php ile zip dosyalarını dinamik yaratmanın en kolay yolu nedir?

Örneğin,

Ben sunucu üzerinde bu dosyaları var,

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

Ben bir zip dosyası bu 2 dosyaları içeren oluşturmak ve kullanıcı bunu indirmek için izin istiyorum.

herhangi bir yardım?

Önceden thx

2 Cevap

ZipArchive sınıfına bakın; Bu ne ihtiyaç vardır.

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

PHP.Net Örnek:

<?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';
}
?>

Bunu sıkıştırma sonra, çıkış bir mim-tipi başlığı ve çıkış dosyası yapabilirsiniz:

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

Bu php zip yapma çalışma örneği

$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();