I am using the following code
$file = "./text.php";
$newData = "WQEQ";
file_put_contents($file, $new_data, FILE_APPEND | LOCK_EX);
When I check the file text.php after running the above the file has not been appended to, can someone explain what I am missing?
First, you use two different variables in your script. $newData and $new_data. You fail to define $new_data before using it.
Also, you may not have permission to write the file. You might want to check if the file exists and is writable first:
$file = "./text.php";
if (!file_exists($file)) {
die("sorry!, but $file does not exist");
}
if (!is_writable($file)) {
die("You do not have permission to write to $file");
}
$newData = "WQEQ";
file_put_contents($file, $newData, FILE_APPEND | LOCK_EX);
Also, as @dont-panic pointed out, you can more easily detect this sort of error -- where you try to use a variable you have not defined -- if your environment is configured to show errors of type E_WARNING and E_NOTICE. You shouldn't turn on that error reporting on a production machine, but on your development environment, consider using the error_reporting() function to set the error threshold or consider altering the error_reporting and display_errors settings in your PHP.ini file.