Problem mit Ziparchiv

guenter024

Erfahrenes Mitglied
HI,

habe ein Problem beim erstellen eines zipfiles.
Code:
PHP:
require_once("../libraries/zip.lib.php");
$zipfile = new zipfile();
$Type = array_item($_POST, 'Type'); 
$Content = array_item($_POST, 'Content');
$Name = array_item($_POST, 'Name');

if($Type == "PDF") {

    require_once ('../libraries/fpdf/fpdf.php');

    $pdffilename = $Name.'.pdf';
    $pdffilepath = '../tmp/'.$pdffilename;
    $utf8Content = utf8_decode($Content);
    $pdf=new FPDF('P', 'mm', 'A4');
    $pdf->AddPage();
    $pdf->SetFont('Arial','',10);
    $pdf->Ln(10);
    $pdf->Write(4, $utf8Content, '' );
    $PdfContent = $pdf->Output($pdffilepath, 'F');

    $zipfile->addFile($pdffilepath, $pdffilename);
}

foreach (glob("tmp/*.pdf") as $file) { unlink($file); }

header("Content-Type: application/force-download");
header('Content-Disposition: attachment; filename="'.$Name.'.zip"');
header("Content-Transfer-Encoding: binary");

// Zip File senden
echo $zipfile->file();
$zipfile->close();

Die PDF-Erstellung funktioniert, wenn ich die unlink-Zeile entferne kann ich die lokal gespeicherte pdf-Datei öffnen. Die Datei im ZIP-Archiv gibt aber beim öffnen den Fehler aus, ich zitiere "Could not open "file" because it is either not a supported file type or because the file has been damaged (for example, it was send as an email attachment and wasn't correctly decoded).

Weis jemand wo mein Fehler ist?
Danke im Voraus für eure Hilfe.

Ciao
Günter
 
Kannst du mitteilen, woher die Klasse zipfile stammt? Also von wo hast du sie her? Gibts dafür ne Doku?

Mein Eindruck ist, das du statt echo mal

PHP:
readfile( $zipfile->file() );

probieren solltest.
 
Hi,

sorry, hat mit der Antwort leider etwas gedauert, da ich vorerst mit einer anderen Aufgabe noch beschäftigt war.
Ich hab die zip.lib.php von phpmyadmin eingebunden.

Habe auch den Vorschlag ausprobiert, da lässt sich danach aber das erstellte zip-Archiv nicht öffnen, sondern gibt eine Fehlermeldung aus.

Wie gesagt, das komische daran ist, dass die txt sauber hinzugefügt wird und diese sich auch öffnen lässt, jedoch die pdf datei zwar auch hinzugefügt wird, auch die Dateigröße stimmt, aber die pdf erzeugt den oben genannten Fehler beim Versuch das Dokument zu öffnen.
Auf dem temporären Ordner ist die pdf aber auch vorhanden und lässt sich auch öffnen.

Wäre eine andere ziplibrary besser?

Gruß
Günter
 
Zurück