Christian Seiler: entzippen sowohl unter PHP4.4.4 als auch PHP5.1.6?

Beitrag lesen

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