[GastForen Programmierung/Entwicklung PHP und MySQL PHP ZIP File ist leer beim betrachten

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

PHP ZIP File ist leer beim betrachten

oliiix
Beiträge gesamt:

7. Mai 2008, 09:00
Beitrag # 1 von 5
Bewertung:
(1986 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Zusammen:)

Ich wollte mal fragen, ob jemand von Euch schon Erfahrung mit ZIP Files und PHP gesammelt hat. Auf der momentanen HP, welche ich schreibe, generiere ich ein ZIP File und sende es zum Browser.
Eigentlich läuft das alles. Mein Problem ist nur, dass wenn ich das ZIP File in einem Explorer/ZIP File Manager öffne, wird dies leer dargestellt. Jedoch kann ich das File ohne Probleme extrahieren (z.B Kommandozeile/Shell) und die Dateien werden dann im Ordner aufgelistet. Hier mein Code:

Code
$filename = "./webcamArchive.zip"; 
if (file_exists($filename)) { unlink($filename); }
$zip = new ZipArchive();

if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {
exit("cannot open <$filename>\n");
}

for ($t = 0; $t < count($images); $t++)
{
$zip->addFile($dir . $images[$t]); //HIER EVTL DER FEHLER??
}
$zip->close();

header("Content-Type: application/zip");
header("Content-Disposition: attachment; filename=webcamArchive.zip");
readfile($filename);
header( 'Location: ./index.php?cbDate=' . $selectedDate . '&cbLocation=' . $Location . '&ZIP=true') ;


Wie gesagt, läuft alles so wies sollte. Da jedoch die meisten Windows User die ZIP Files mit einem Tool öffnen, ist es unschön, wenn das gefüllte ZIP Archiv leer dargestellt wird^^

Danke schoonmal fürs durchlesen!
Grüsse aus Basel =)
X

PHP ZIP File ist leer beim betrachten

oesi50
  
Beiträge gesamt: 2315

7. Mai 2008, 09:27
Beitrag # 2 von 5
Beitrag ID: #349378
Bewertung:
(1968 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo oliiix,

lass mal die letzte Zeile weg:

header( 'Location:......


als Antwort auf: [#349372]

PHP ZIP File ist leer beim betrachten

oliiix
Beiträge gesamt:

7. Mai 2008, 09:44
Beitrag # 3 von 5
Beitrag ID: #349387
Bewertung:
(1959 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Die geht bestimmt nicht, da hast du recht. Hab ich schon weg... Hatte noch nen Tipp erhalten, dass ich eine weitere Header Zeile einpflanzen soll für die Dateigrösse, hat jedoch auch noch nichts geholfen...

Code
$zip->close(); 
$file_size = filesize($filename);
header("Content-Type: application/zip");
header("Content-Disposition: attachment; filename=webcamArchive.zip");
header("Content-length: $file_size");
readfile($filename);


Danke dir für die Antwort!!


als Antwort auf: [#349378]
(Dieser Beitrag wurde von oliiix am 7. Mai 2008, 09:45 geändert)

PHP ZIP File ist leer beim betrachten

oesi50
  
Beiträge gesamt: 2315

7. Mai 2008, 10:19
Beitrag # 4 von 5
Beitrag ID: #349405
Bewertung:
(1939 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
versuch mal das:
Code
$zip->addFile($dir . $images[$t], $images[$t]) 



als Antwort auf: [#349387]

PHP ZIP File ist leer beim betrachten

minou
Beiträge gesamt: 135

7. Mai 2008, 10:45
Beitrag # 5 von 5
Beitrag ID: #349415
Bewertung:
(1923 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

das ist nur so eine Idee...

muss wenn die Datei geschlossen wurde nicht danach wieder erneut ein Dateihanlder aufgerufen werden, bevor man überhaupt ein
readfile()
benutzen kann - oder sehe ich da etwas falsch?

Gruss

minou

P.S. gemäss dem "grossen" Skript wird die Zipdatei ja explizit geschlossen.


als Antwort auf: [#349387]
X