Hallo,
ich hab folgendes Problem:
Mit fopen öffne ich eine Datei zum schreiben, diese kann jedoch bereits von einem anderen User reserviert sein, d.h es kommt ein Fehler: permission denied fopen("forum.xml","w") oder so in der Art.
Nun gut, ich hab dann mal folgendes Versucht:
$fp = fopen("forum.xml")
if ($fp==false)return false;
Sprich wenn das mit dem öffnen nicht klappt soll die Funktion in der das fopen liegt false zurückgeben.
Macht sie aber nicht, php zeigt mir nur den hässlichen Fehelr von oben wieder.
Nun denn, dann hab ich das mit einem ErrorHandler versucht, sprich ich hab mir eine Funktion geschriebn die mir alle Fehlermeldungen Abfangen soll, so wie es halt auf www.php.net beschrieben ist.
Zuesrt kamen auch eine vielzahl von Schönheitsfehler in der Funktion an, nachdem ich diese dann beseitigt hatte, und hoffte das nun endlich mal der Zugriffsfehler von fopen in meinem Handler ankommen sollte kam wieder nix. Nicht mal mehr der parser selbst zeigte den Fehler an. Obwohl ich im ErrorHandler nach allen Fehlern :
E_USER_ERROR + E_USER_WARNING + E_USER_NOTICE
abgefragt hatte, kam nichts, hab dann noch nach default abgefragt, sprich wenn es keiner der oben genannten Fehler ist, und dann kam eine Meldung hoch.
Nur ist das jetzt nicht so schön, denn sobald ein kleiner Hinweis auf eine nicht initialisierte Varible auftacht, wird mir der Quatsch auch als Fehelr angezeigt. Ich will aber nur die Zugriffsfehler abhandeln, der Rest ist erst mal egal.
Gibt es keine möglichkeit den Fehler direkt also per:
try
{
fopen(...)
}
catch
{
error
}
abzufragen? Oder muss ich den ErrorHandler nehmen, der mir dann alle Fehler möglichen Fehler dazu nimmt?
Gruß
ueps