/ / php E_WARNING Stoppen Sie nicht, dass der Prozess nur false zurückgibt? - PHP, Warnungen

php E_WARNING Stoppen Sie nicht, dass der Prozess nur false zurückgibt? - PHP, Warnungen

Ich habe ein kleines problem mit php, ich möchte in eine datei schreiben aber wenn leer ist und die funktion file_exists() return true Ich kann mit der Schreibfunktion fortfahren oder Daten anfügen, aber wenn die Datei nicht existiert, muss ich eine andere Option zum Erstellen der Datei in diesem Fall machen, die ich verwende file_put_contents und die Funktion machen die Datei selbst. Wie auch immer, ich möchte nur die stumme Funktion verwenden: @filesize("file.txt") ohne das @ Ich bekomme eine Warnung, wie die Datei nicht existiert und weitergeben. Ich möchte wissen, ob die Funktion zuverlässig ist Fehlersteuerungsoperator(@). Danke im Voraus!

Und mein Code:

if (@filesize("entries.txt") > 0 ){
file_put_contents("entries.txt", "," . time(), FILE_APPEND);
}else {
file_put_contents("entries.txt", time());
}

Das Ergebnis, das ich mit bekam, ist wie folgt:

if( !file_exists( $entries )) file_put_contents( $entries, "");
$smilliseconds = filesize( $entries ) >= 10? ",". $milliseconds: $milliseconds;

Antworten:

1 für die Antwort № 1

Nein, Sie sollten das nicht verwenden @ Betreiber - immer. Es maskiert Probleme, über die Sie sonst Bescheid wissen müssen, und es gibt fast immer einen besseren Ansatz. Zum Beispiel könnten Sie Ihre kombinieren file_exists Überprüfen Sie wie folgt:

if (file_exists("entries.txt") && filesize("entries.txt") > 0 ){