file_get_contents mit leeren Datei funktioniert nicht PHP
Ich versuche es mal mit file_get_contents Formular PHP, aber es funktioniert nicht.
Da ist mein code :
$filename = "/opt/gemel/test.txt";
if($filecontent = file_get_contents($filename)){
$nom = fgets(STDIN);
file_put_contents($filename, $nom, FILE_APPEND);
}
else
echo "fail";
Und meine Datei test.txt leer ist. (0 octets). Er existiert, aber er ist leer.
Wenn ich Schreibe etwas hinein, mein code funktioniert perfekt, aber wenn er leer ist mein code echo "fehl"
Warum das, warum kann er die Datei nicht öffnen text.txt ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Funktion
file_get_contents
gibt den string zurück, der in der Datei. Wenn die Datei keine Daten enthält, dannfile_get_contents
einen leeren string zurück. Wenn Sie versuchen würde, zuvar_dump('' == false);
Sie bekommen würdetrue
. Also, auch wenn die Datei gelesen werden kann, wird der Inhalt der Datei ausgewertetfalse
.Wenn Sie diese Linie benutzen, dein code sollte funktionieren:
Bearbeiten; link zur Dokumentation der Vergleichsoperatoren.
false
(a boolean) wenn es die Datei nicht öffnen, es gibt''
(eine Zeichenkette), wenn es öffnet sich eine leere Datei. Der dreifache Charakter-Vergleich (!==
) wird auch überprüft, ob die Typen der Variablen gleich sind. Bitte überprüfen Sie den link, um die Dokumentation in meiner Antwort für weitere Informationen.