Próbuję użyć file_get_contents z PHP, ale nie działa.file_get_contents z pustym plikiem nie działa PHP
Jest to mój kod:
$filename = "/opt/gemel/test.txt";
if($filecontent = file_get_contents($filename)){
$nom = fgets(STDIN);
file_put_contents($filename, $nom, FILE_APPEND);
}
else
echo "fail";
A mój plik test.txt jest pusty. (0 oktetów). On istnieje, ale jest pusty.
gdy piszę coś do niej, mój kod działa doskonale, ale jeśli jest on pusty Moje kod echo „nie”
Dlaczego to, dlaczego on nie może otworzyć pliku text.txt?
mówisz, że ** file_get_contents ** zwraca pusty ciąg jak fałszywe. Zatem ta linia ** file_get_contents ($ filename)! == false ** ma być fałszywa, ponieważ file_get_contents zwraca false. Dlaczego więc to działa, a nie echo "zawieść"? – mpgn
Ma to związek z typami zmiennych. file_get_contents zwraca 'false' (a boolean), jeśli nie może otworzyć pliku, zwraca' '' '(łańcuch), jeśli otwiera pusty plik. Potrójne porównanie znaków ('! ==') również sprawdza, czy typy zmiennych są takie same. Sprawdź link do dokumentacji w mojej odpowiedzi, aby uzyskać więcej informacji. –
Ok, nie zrozumiałem niuansów między "typem" a "równym". Dziękuję za wyjaśnienia. – mpgn