2016-04-08 14 views
0

Ich benutze PHP, um csvs-Dateien zu erstellen, lege sie in einen Ordner und zip den Ordner. Das alles funktioniert einwandfrei, aber ich kann dann nicht die ZIP-Datei zum automatischen Download erstellen.CSV-Datei automatisch herunterladen, nachdem auf den Link geklickt wurde

EDIT

es funktioniert jetzt nach einer Umleitung herausnehmen, fehlt aber es die ZIP-Erweiterung, wenn das Herunterladen zu sein, gibt es eine Möglichkeit, dies zu erzwingen?

sind meine Reißverschluss in/Reißverschluss in der Wurzel gespeichert

Hier ist mein Code

// 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); 

Hier wird die get Pfad-Methode und Konstruktor in meiner Zip Klasse

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

I don keine Fehler, es erstellt nur die zip dann passiert nichts

+0

ruft '' zip-> save() '' '' '' '' '' '' ZipArchive 'class auf? –

+0

Ja öffentliche Funktion save() { $ this-> zip-> close(); } – pocockn

Antwort

0

Hinzufügen. Zip ext ension zum Namen Ihrer Datei: $zip_name = 'groups_' . time() . '.zip'; Die Erweiterung, die Sie in Ihrer benutzerdefinierten Zip-Klasse verwenden, wird nicht an Variable in Ihrer Hauptdatei angehängt.

Verwandte Themen