PHP File Handling
Files are extremely important.
Almost everything uses files:
✅ Configurations
✅ Logs
✅ Databases
✅ Cache
✅ JSON
✅ Plugin Data
Reading Files
file_get_contents()
$data =
file_get_contents(
"config.json"
);
Writing Files
file_put_contents()
file_put_contents(
"test.txt",
"Hello World"
);
Appending
file_put_contents(
"logs.txt",
"Player Joined\n",
FILE_APPEND
);
fopen()
$file =
fopen(
"test.txt",
"r"
);
Modes
| Mode | Description |
|---|---|
| r | Read |
| w | Write |
| a | Append |
| x | Create |
| r+ | Read + Write |
Reading Lines
while (
!feof($file)
) {
echo fgets($file);
}
Closing Files
fclose($file);
Check Existence
file_exists();
Delete File
unlink();
Create Directory
mkdir(
"data"
);
Delete Directory
rmdir();
Scan Directory
scandir();
PocketMine Example
$this->saveDefaultConfig();
Logging System
file_put_contents(
"logs.txt",
date("c")
. " Player Joined\n",
FILE_APPEND
);
JSON Config Example
$data =
json_decode(
file_get_contents(
"config.json"
),
true
);
Security
Never allow:
../../
Directory Traversal Attacks.
Next Chapter
➡ JSON