Hallo Klaus,
=== 1 ===
Also falls die Datei bereits vorhanden ist, soll der Script per CHMOD die Rechte der vorhandenen Datei ändern (auf 777), falls diese Datei noch Schreibgeschützt ist.
Danach wird per fopen("datei","w") + fwrite(); die Datei geöffnet und die neue Version gespeichert.
Hier musst du bedenken, dass chmod() unter Umständen fehlschlägt, weil dem Apache-Prozess die Cache-Datei aus irgendeinem Grund nicht gehören könnte.
=== 2 ===
Per unlink(); lösche ich die alte Cache Datei zuerst, und erstelle dann per fopen(); + fwirte(); die neue Datei.
Hier hast du das Problem einer Race Condition. Was passiert, wenn ein anderer Prozess auf die Cache-Datei zugreifen will, nachdem sie gelöscht wurde? Mit file_exists() oder is_file() wirst du hier nicht viel ausrichten können, da ja kurz nach der Abfrage die Datei gelöscht worden sein könnte.
Methode 1 ist vielleicht die bessere, wenn du das chmod() weglässt und evtl. auch mit flock() arbeitest.
Viele Grüße
Patrick Canterino
"Niemand hat die Absicht, eine Mauer zu errichten." (Walter Ulbricht, kurz vor dem Mauerbau)