Hallo Felix,
$zip_datei = 'test.zip';
$zip = zip_open(preg_replace('~[^/]+$~', '', $_SERVER['SCRIPT_FILENAME']).$zip_datei);
Um das Verhalten von relativen Pfaden identisch zu duplizieren, wäre übrigens [getcwd()](http://de3.php.net/getcwd) zum bestimmen des aktuellen Arbeitsverzeichnisses relevant, wenn Du nämlich mit [chdir()](http://de3.php.net/chdir) in ein anderes Verzeichnis wechselst, ist fopen ('bla.txt', 'r') und fopen (SF.'bla.txt', 'r') nicht mehr das gleiche (das SF stehe hier für Dein Konstrukt mit dem SCRIPT\_FILENAME und preg).
Ferner funktioniert getcwd() auch bei CLI, SCRIPT\_FILENAME dagegen ist eine CGI-Variable, die in der Modulvariante von PHP zufälligerweise auch gesetzt wird.
Wenn Du dagegen einen Pfad relativ zur aktuell verarbeiteten Datei suchst, dann wäre dirname (\_\_FILE\_\_) besser (bzw. allgemein würde ich dirname() statt preg\_replace empfehlen).
Viele Grüße,
Christian
--
"I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." - Bjarne Stroustrup