Hallo Forum,
ich habe ein script geschrieben das auf Wunsch des Users aus einem Ordner per system() ein Tar-Archiv erstellt und zum Download anbietet.
Das Tar-Archiv wird im Ordner /home/foo/tar/ erstellt, also nicht im Webserververzeichnis.
Das Erstellen des Archivs klappt schon mal ganz gut, es liegt ein valides Archiv im tar-Ordner.
Allerdings funktioniert der Download nicht.
Ich benutze auf der Seite für den Download einzelner Dateien folgendes Script:
Für das tar-Archiv wollte ich das auch benutzen.
Aber entweder bekomme ich ein 0byte-Archiv vorgesetzt oder das Script stirbt und im error_log steht:
httpd in free(): error: recursive call
[Thu Feb 7 09:50:43 2008] [notice] child pid 4984 exit signal Abort (6)
Wie schaffe ich es nun, das korrekte Tar-Archiv dem User zum Download bereitzustellen?
ich habe ein script geschrieben das auf Wunsch des Users aus einem Ordner per system() ein Tar-Archiv erstellt und zum Download anbietet.
Das Tar-Archiv wird im Ordner /home/foo/tar/ erstellt, also nicht im Webserververzeichnis.
Das Erstellen des Archivs klappt schon mal ganz gut, es liegt ein valides Archiv im tar-Ordner.
Allerdings funktioniert der Download nicht.
Ich benutze auf der Seite für den Download einzelner Dateien folgendes Script:
PHP-Code:
header( 'Content-type: application/octet-stream' );
header( 'Content-Length: ' . filesize( $file ) );
$dateiname = basename( $file );
header( 'Content-Disposition: attachment; filename="' . $dateiname . '"' );
readfile( $file );
Aber entweder bekomme ich ein 0byte-Archiv vorgesetzt oder das Script stirbt und im error_log steht:
httpd in free(): error: recursive call
[Thu Feb 7 09:50:43 2008] [notice] child pid 4984 exit signal Abort (6)
Wie schaffe ich es nun, das korrekte Tar-Archiv dem User zum Download bereitzustellen?
Kommentar