2016-04-11 37 views
0

Sunucuda yüklediğim dosyaları PHP kullanarak bir .zip dosyasında indirmek istiyorum. Dosyalar aynı klasöre yerleştirilmemiş.Sunucudan .zip biçimindeki dosyaları indir

Klasörler şu şekilde adlandırılır: idClub.'-'.idEvent.'-'.idOrderItem.

IdClub ve idEvent her zaman aynıdır ve bu değişen idOrderItemdir.

Biz bu sorgudan kimlikleri orderItem alabilirsiniz:

select idOrderItem from order_item when idEvent = $idEvent 

$ idEvent: dosyaları indirir işlevine verilen bir parametredir.

Yani bir senaryo örneği var mı? Böyle

+3

Olası kopyalar (http://stackoverflow.com/questions/11540339/creating-zip-file-php) – DevDonkey

cevap

1

Umut şey çalışır:

$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();   
} 
[dosyayı .zip Oluşturma: PHP] arasında
+0

I dosya isimlerini bilmiyorum, bunlar dinamik olarak addFile komutunda olmalı, bu yüzden bunu nasıl çözebiliriz? – user2285831

+0

dizini taramak ve dosya adlarını okumak için php'de glob işlevini kullanabilirsiniz. Lütfen güncellenmiş cevaba bakınız. – VipindasKS