Mailinglisten-Archive |
Aloha, @was mache ich falsch: Du vertraust darauf, daß alle Funktionsaufrufe deines Programmes fehlerfrei funktionieren. Das macht ein guter Programmierer niemals! Besser: <?php $FileOne = fopen('Test1.txt', 'w'); if ( $FileOne === FALSE ) { exit ('unable to open file Test1.txt'); } $FileTwo = fopen(realpath ('./') . '/Test2.txt', 'w'); if ( $FileTwo === FALSE ) { exit ('unable to open file Test2.txt'); } $r = fwrite ($FileOne, "Eine Zeile in FileOne\n"); if ( $r === FALSE ) { exit ('error writing to file Test1.txt' ); } $r = fwrite ($FileTwo, "Eine Zeile in FileTwo\n"); if ( $r === FALSE ) { exit ('error writing to file Test2.txt' ); } $r = fclose ($FileOne); if ( $r === FALSE ) { exit ('error closing file Test1.txt' ); } $r = fclose ($FileTwo); if ( $r === FALSE ) { exit ('error closing file Test2.txt' ); } ?> Auf einem Testsystem empfiehlt es sich, immer in der php.ini *error_reporting = E_ALL *zu setzen, dann werden die Fehler auch gleich im Browser angezeigt. Auf einem Produktivsystem sollte man das tunlichst unterlassen, da es keinen etwas angeht mit welchem User man ich zur Datenbank verbindet oder in welcher (physikalischen) Datei ein Fehler aufgetreten ist. Für die Faulen gibts unter PHP ab Version 5 ja auch noch das try/catch Konstruct, damit würdest du dir im obigen Beispiel schreibarbeit sparen. Das würde dann etwa so aussehen: <?php try { $FileOne = fopen('Test1.txt', 'w'); $FileTwo = fopen(realpath ('./') . '/Test2.txt', 'w'); fwrite ($FileOne, "Eine Zeile in FileOne\n"); fwrite ($FileTwo, "Eine Zeile in FileTwo\n"); fclose ($FileOne); fclose ($FileTwo); } catch (Exception $e) { exit ('Exception occured: '. $e->getMessage() ); } ?> Allerdings dürfte $e->getMessage() nicht immer eine aussagekräftige Fehlermeldung liefern, da ja der Fehler beim Öffnen/Schreiben/Schließen autreten kann. Ansonsten wenns auf der Kommandozeile geht und über den Webserver nicht - denk bitte daran, daß du auf der Kommandozeile in aller Regel mit einem anderen Benutzer arbeitest, als der unter dem der Webserver läuft. ==> Rechteproblem? Grüße, Mathias
php::bar PHP Wiki - Listenarchive