Reading and writing files
| file_get_contents | |
| file_put_contents with LOCK_EX | |
| Check with is_file | |
| Anchor paths with __DIR__ |
file_get_contents
Function file_get_contents reads a whole file into a string.
Build the path from __DIR__ so the script works from any working directory. Use it for small text files and templates.
$path = __DIR__ . "/data.txt"; $text = file_get_contents($path); echo $text;
file_put_contents with LOCK_EX
Function file_put_contents writes a string in one call. Add flag LOCK_EX to lock the file during writing.
The function returns the number of bytes written or false on failure.
$path = __DIR__ . "/data.txt"; file_put_contents($path, "Hello files\n", LOCK_EX); echo file_get_contents($path);
Check with is_file
Always check existence before reading user supplied paths.
Function is_file returns true only for regular files. Function file_exists also matches directories, so pick the check that fits the task.
$path = __DIR__ . "/data.txt"; var_dump(is_file($path)); var_dump(file_exists($path));
Anchor paths with __DIR__
Constant __DIR__ holds the directory of the current file. Join it with a file name to get an absolute path.
Absolute paths keep includes and reads stable after moves and deploys.
$path = __DIR__ . "/data.txt"; echo __DIR__; echo dirname($path);
Next: Errors: read, reproduce, fix
Article author: Arthur Isaev