Hi,
Echt oder falsch gibt es nicht, nur unterschiedliche Level. Als E_NOTICE wird eine fehlende Datei sicher nicht signalisiert, wenn dann eher als E_WARNING (hab's grad eben mit PHP 5.2.5 probiert und bestätigt bekommen). Ich nehme an, dass du auch die Warnungen unterdrückst.
nein unterdrücke ich nicht. Habe aber nun des Rätsels Lösung:
$dast ='datei.txt';
$yy=file_get_contents($dat);
ergbit notice KEINE E_WARNING
$dat ='datei.txt';
$yy=file_get_contents($dat);
ergbit E_WARNING, wenn die Datei nicht vorhanden ist.
Also Fazit:
PHP führt anscheinend file_get_contents() gar nicht erst aus wenn die
Variable nicht existiert, interessant und ein wenig ungewohnt.
Blödsinn. Wenn irgendwas eine Meldung erzeugt, egal welches Level, dann hast du ein Problem, das du lediglich ignorierst.
Ich sehe gewisse notices wie undeklarierte Variabeln die sich erst zur Laufzeit bilden nicht als Problem an und sehe bestimmt nicht ein unnötige Ballast-Routinen zu schreiben nur damit ja keine notice mehr erscheint.
"Belanglose" E_NOTICE-Meldungen klären über Zugriffe auf nicht existente (Schreibfehler) oder nicht initialisierte Variablen auf. Es gibt keinen Grund, so zu programmieren, dass PHP einen Grund hätte E_NOTICE-Meldungen zu erzeugen.
Wenn es dafür keinen Grund gäbe, würden nicht so dermaßen viele Scripte von guten Leuten im Netz solche notices aufweisen.
Dank fürs Testen(dadurch bin ich drauf gekommen)
Jens