I try to use file_get_contents form PHP but it's not working.
There is my 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";
And my file test.txt is empty. (0 octets). He exists but he is empty.
When i write something into it, my code works perfectly but if he is empty my code echo "fails"
Why that, why he can't open the file text.txt ?
PHP empty() Function The empty() function checks whether a variable is empty or not. This function returns false if the variable exists and is not empty, otherwise it returns true.
They both read an entire file, but file reads the file into an array, while file_get_contents reads it into a string.
Return Values ¶ The function returns the read data or false on failure. This function may return Boolean false , but may also return a non-Boolean value which evaluates to false . Please read the section on Booleans for more information.
The function file_get_contents
returns the string that's in the file. If the file contains no data, then file_get_contents
returns an empty string. If you would try to var_dump('' == false);
you would get true
. So, even though the file can be read, the contents of the file evaluates to false
.
If you would use this line, your code should work:
if($filecontent = file_get_contents($filename) !== false){
Edit; link to the documentation of the Comparison operators.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With