Skip to main content

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

ModeDescription
rRead
wWrite
aAppend
xCreate
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