Probleme mit zlib bei der Erstellung eines Zipfiles

vandamp

Erfahrenes Mitglied
Hallo,

habe ein Problem, ich versuche ein Zipfile zu erstellen.
Da es zu groß ist, will ich es nicht auf einmal scheiben sondern mit einem "Puffer" funktioniert auch so weit.
Nur leider fehlt dann bei der Datei, die in ein zip file geschreiben wird die Dateiendung z.B ist dort dann die Datei test aber ohne .txt Endung kann mir jemand helfen? bin ratlos

PHP:
$src = pfad zur zu zipenden Datei
$dst = pfad wo das zip file anschließend liegen soll

 if(file_exists($_SERVER{'DOCUMENT_ROOT'}.$src)){		
        $filesize = filesize($_SERVER{'DOCUMENT_ROOT'}.$src);
		$src_handle = fopen($_SERVER{'DOCUMENT_ROOT'}.$src, "r");
        if(!file_exists('*ausgeblendet*'.$dst)){
            $dst_handle = gzopen($_SERVER['DOCUMENT_ROOT'].$dst, "w$level");
            while(!feof($src_handle)){
                $chunk = fread($src_handle, 2048);
                gzwrite($dst_handle, $chunk);
            }
            fclose($src_handle);
            gzclose($dst_handle);
            return true;
        } else {
            error_log("$dst already exists");
        }
    } else {
        error_log("$src doesn't exist");
    }

Danke
 
Zuletzt bearbeitet:
Hi,

nur damit es keine Missverständnisse gibt: zlib hat nichts mit zip zu tun. Der Komprimieralgo erstellt gzip-Files, die sich von ZIP unterscheiden.

Außerdem wär es interessant, wie der Name in $dst zustande kommt.
 
danke für die Anteilsnahme ;)

der Name von dst kommt so zu Stande
PHP:
$extension = array_pop(explode(".", $_POST['url']));
$src=''.$_POST['name'].'.'.$extension.'';
$t2 = '.zip';
$name = $_POST[name];
$dst = $name.$t2;

wobei $_POST[name] irgendein Name ist, den man eingibt konkret handelt es sich hier um txt Files, sprich die URL schaut immer so aus http://www.example.com/test.txt
wenn ich mir $dst per echo ausgeb, hat es eine Endung.

mfg
 
Zuletzt bearbeitet:
Nochmal: gzip ist kein Archivierungswerkzeug. Du kannst damit lediglich komprimieren. Zum Archivieren bräuchtest du sowas wie tar. Leider hat PHP keine internen Möglichkeiten, tar-Files zu lesen oder zu schreiben. Glücklicherweise gibt es aber PEAR.
 
Zurück