Moin!
Normalerweise kann man mit einem @ ja die Fehlerausgabe unterdrücken.
Ja, aber das ist kein guter Stil. Du solltest generell lieber mögliche Fehler im Script abfangen, anstatt die Fehlermeldung einfach zu unterdrücken.
warum ist das kein guter Stil?
Weil du damit -- wie gesagt -- lediglich die Fehlermeldung unterdrückst, aber nicht den Fehler. Stell dir z.B. einmal folgendes vor (beliebter Einsteigerfehler):
$fh = @fopen('/pfad/zu/1/Datei', 'r');
// schlägt fehl, bleibt allerdings unbemerkt -> wegen @
// benutze @fgets, weil dies ab und zu Fehler produziert
while ($line = @fgets($fh)) {
tueEtwasMit($line); // was passiert hier?
}
@fclose($fh);
Preisfrage: Was passiert in der Funktion tueEtwasMit() mit $line als Argument, wie sieht $line überhaupt aus, wird die while-Schleife überhaupt durchlaufen, wie reagiert dein Programm?
-- Deshalb ist es besser, zusätzlich sämtliche Fehler abzufangen und Rückgabewerte zu prüfen, weil du dann _meistens_ weißt, was passiert.
Viele Grüße,
Robert