Working with Files and Operating System in PHP
PHP provides built-in functions to interact with the file system, directories, and disk resources. These features are widely used in logs, uploads, backups, and system utilities.
File Functions in PHP
File functions allow PHP to create, read, write, update, and delete files.
Common File Functions
| Function | Purpose |
|---|---|
| fopen() | Open file |
| fread() | Read file |
| fwrite() | Write file |
| fclose() | Close file |
| file_exists() | Check file |
| unlink() | Delete file |
| filesize() | File size |
| file_get_contents() | Read entire file |
---
Opening Files
fopen() Function
$file = fopen("test.txt", "r");
File Modes
| Mode | Meaning |
|---|---|
| r | Read only |
| w | Write (overwrite) |
| a | Append |
| r+ | Read + Write |
| w+ | Read + Write (overwrite) |
Exam Tip: Always close a file after use.
---
Reading Files
$file = fopen("test.txt", "r");
echo fread($file, filesize("test.txt"));
fclose($file);
---
Creating & Writing Files
$file = fopen("data.txt", "w");
fwrite($file, "Welcome to PHP File Handling");
fclose($file);
Exam Line: If file does not exist, fopen() creates it in write mode.
---
Deleting Files
unlink("data.txt");
Exam Point: unlink() permanently deletes a file.
---
Creating Directories
mkdir() Function
mkdir("uploads");
Create Nested Directory
mkdir("files/images", 0777, true);
---
Manipulating Directories
| Function | Purpose |
|---|---|
| rmdir() | Remove directory |
| is_dir() | Check directory |
| scandir() | List files |
| chdir() | Change directory |
Example: List Files in Directory
$files = scandir("uploads");
print_r($files);
---
Information about Hard Disk
PHP provides disk-related functions to get storage information.
| Function | Description |
|---|---|
| disk_total_space() | Total disk space |
| disk_free_space() | Free disk space |
Example
echo disk_total_space("C:");
echo disk_free_space("C:");
Exam Line: Disk functions return size in bytes.
---
Directory Functions
Directory functions manage folders and file navigation.
| Function | Purpose |
|---|---|
| opendir() | Open directory |
| readdir() | Read directory |
| closedir() | Close directory |
Example
$dir = opendir("uploads");
while($file = readdir($dir)){
echo $file;
}
closedir($dir);
---
Calculating File, Directory and Disk Sizes
File Size
echo filesize("test.txt");
Directory Size (Logic Based)
$size = 0;
foreach(scandir("uploads") as $file){
if(is_file("uploads/".$file)){
$size += filesize("uploads/".$file);
}
}
echo $size;
Disk Size
echo disk_total_space("/");
Exam Tip: Directory size is calculated by summing file sizes.