2016-04-08 22 views
0

Ben csvs dosyaları oluşturmak, bir klasöre koymak ve daha sonra klasörü sıkıştırmak için PHP kullanıyorum. Her şey mükemmel çalışıyor, ancak daha sonra kullanıcının otomatik olarak indirmesi için oluşturduğu ZIP'yi alamıyorum.Otomatik bağlantı indirildikten sonra CSV dosyası tıklandı

DÜZENLEME artık bir yönlendirme dışarı aldıktan sonra çalışır

, ancak indirilmesi olunca, bu zorlamak için bir yol yoktur .zip uzantısını yoksun?

Benim fermuarlar köküne İşte

in/fermuarlar saklanır benim zip sınıfta olsun yol yöntemi ve yapıcı benim kod İşte

// Add the folder we just created to a zip file. 
$zip_name = 'groups_' . time(); 
$zip_directory = '/zips'; 
$zip = new zip($zip_name, $zip_directory); 
$zip->add_directory('group-csvs'); 
$zip->save(); 

$zip_path = $zip->get_zip_path(); 

header("Content-Description: File Transfer"); 
header("Content-type: application/zip"); 
header("Content-Disposition: attachment; filename=" . $zip_name . ""); 
header("Content-Length: " . filesize($zip_path)); 

readfile($zip_path); 

olduğu

public function __construct($file_name, $zip_directory) 
    { 
     $this->zip = new ZipArchive(); 
     $this->path = dirname(__FILE__) . $zip_directory . $file_name . '.zip'; 
     $this->zip->open($this->path, ZipArchive::CREATE); 
    } 

    /** 
    * Get the absolute path to the zip file 
    * @return string 
    */ 
    public function get_zip_path() 
    { 
     return $this->path; 
    } 

ı don herhangi bir hata almaz, sadece zip oluşturur, o zaman hiçbir şey olmuyor

+0

, '$ zip-> save(), özgün' ZipArchive 'sınıfının close() işlevlerini çağırıyor mu? –

+0

Evet genel işlev kaydetme() { $ this-> zip-> close(); } – pocockn

cevap

0

Add .zip ext Dosyanızın adı: $zip_name = 'groups_' . time() . '.zip'; Özel zip sınıfında kullandığınız uzantı, ana dosyanıza değişken eklenmez.

İlgili konular