Vollständige Lösung?
bearbeitet von ursus contionabundo> Ich bezog mich explizit nicht auf das error-reporting.
Das ist mir klar. Stand aber in der gelobten Antwort halt mit drin.
Ich denke, die umfassendste Antwort ist:
~~~php
try {
### Wenn PHP in $file erwartet wird und "abgearbeitet" werden soll:
## Falls Datei sonst womöglich mehrfach geöffnet wird:
# require_once( $file );
## Falls Datei NICHT womöglich mehrfach geöffnet wird:
# require( $file );
### Falls Inhalt nur ausgegeben werden soll:
readfile( $file );
} catch ( Exception $e ) {
echo 'Exception abgefangen: ', $e->getMessage(), "\n";
# (oder was auch immer geschehen soll.)
}
~~~
Die löst auch das Problem, dass die Datei womöglich in der Tausenstelsekunde zwischen is_file() && is_readable() und dem Leseversuch gelöscht wird.
Vollständige Lösung?
bearbeitet von ursus contionabundo> Ich bezog mich explizit nicht auf das error-reporting.
Das ist mir klar. Stand aber in der Antwort eben mit drin.
Ich denke, die umfassendste Antwort ist:
~~~php
try {
### Wenn PHP in $file erwartet wird und "abgearbeitet" werden soll:
## Falls Datei sonst womöglich mehrfach geöffnet wird:
# require_once( $file );
## Falls Datei NICHT womöglich mehrfach geöffnet wird:
# require( $file );
### Falls Inhalt nur ausgegeben werden soll:
readfile( $file );
} catch ( Exception $e ) {
echo 'Exception abgefangen: ', $e->getMessage(), "\n";
# (oder was auch immer geschehen soll.)
}
~~~
Die löst auch das Problem, dass die Datei womöglich in der Tausenstelsekunde zwischen is_file() && is_readable() und dem Leseversuch gelöscht wird.
Fehlermeldung unterdrücken
bearbeitet von ursus contionabundo> Ich bezog mich explizit nicht auf das error-reporting.
Das ist mir klar. Stand aber in der Antwort eben mit drin.
Ich denke, die umfassendste Antwort ist:
~~~php
try {
### Wenn PHP in $file erwartet wird und "abgearbeitet" werden soll:
## Falls Datei sonst womöglich mehrfach geöffnet wird:
# require_once( $file );
## Falls Datei NICHT womöglich mehrfach geöffnet wird:
# require( $file );
### Falls Inhalt nur ausgegeben werden soll:
readfile( $file );
} catch (Exception $e) {
echo 'Exception abgefangen: ', $e->getMessage(), "\n";
# (oder was auch immer geschehen soll.)
}
~~~
Die löst auch das Problem, dass die Datei womöglich in der Tausenstelsekunde zwischen is_file() && is_readable() und dem Leseversuch gelöscht wird.
Fehlermeldung unterdrücken
bearbeitet von ursus contionabundo> Ich bezog mich explizit nicht auf das error-reporting.
Das ist mir klar. Stand aber in der Antwort eben mit drin.
Ich denke, die umfassendste Antwort ist:
~~~php
try {
### wenn PHP in $file erwartet wird und "abgearbeitet" werden soll:
# require_once( $file );
### Falls Inhalt nur ausgegeben werden soll:
readfile( $file );
} catch (Exception $e) {
echo 'Exception abgefangen: ', $e->getMessage(), "\n";
# (oder was auch immer geschehen soll.)
}
~~~
Die löst auch das Problem, dass die Datei womöglich in der Tausenstelsekunde zwischen is_file() && is_readable() und dem Leseversuch gelöscht wird.