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
, '$ zip-> save(), özgün' ZipArchive 'sınıfının close() işlevlerini çağırıyor mu? –
Evet genel işlev kaydetme() { $ this-> zip-> close(); } – pocockn