Rachus: Zip-Datei wird nicht erstellt

Beitrag lesen

Hallo!

Mein Anliegen ist, dass ich gerne ein Verzeichnis einlesen möchte, die Struktur und den Inhalt in einer ZIP-Datei speichere und diese an den Client sende. Leider schaffe ich es nicht, eine einfache ZIP-Datei auch nur mithilfe von PHP zu erstellen.

Hier einmal der dazugehörige Codeausschnitt:

if (isset($_GET[$d_dir]) && is_dir($root.$_GET[$d_dir]))  
{  
	$zip=new ZipArchive();  
	$zip->open('testfile.zip', ZipArchive::CREATE);  
	zipRecursion($zip, $root.$_GET[$d_dir], '');  
	//header('Content-Type: application/zip');  
	//header('Content-Disposition: attachment; filename="'.(substr($_GET[$d_dir], strrpos($_GET[$d_dir], '/'))).'.zip"');  
	$zip->close();  
	exit();  
}

In der Funktion zipRecursion wird der Inhalt der Verzeichnisstruktur eingelesen:

function zipRecursion($zip, $dir, $docroot)  
{  
	$d_dir=$GLOBALS['d_dir'];  
	$root=$GLOBALS['root'];  
	  
	$files=getEntries($root.$_GET[$d_dir]);  
	$len=count($files);  
	for ($i=0; $i<$len; ++$i)  
	{  
		if ($files[$i]=='.' || $files[$i]=='..') continue;  
		if (is_file($root.$files[$i])) $zip->addFile($root.$files[$i], $docroot.$files[$i]);  
		else if (is_dir($root.$files[$i]))  
		{  
			$zip->addEmptyDir($files[$i]);  
			zipRecursion($zip, $root.$files[$i].'/', $docroot.$files[$i].'/');  
		}  
	}  
}

Selbst wenn diese Funktion nicht funktionieren sollte, müsste doch eigentlich wenigstens eine ZIP-Datei (testfile.zip) im gleichen Verzeichnis erzeugt werden, oder? Jedoch finde ich keine neue Datei!

Der benutzte Server Apache 2 und PHP hat die Version 5.3.3-7. Es wird keine Fehlermeldung angezeigt.

Hoffe, ihr könnt mir helfen!

Rachus