File handling allows PHP to create, read, update, delete, and manage files on the server.
📂 1. Opening Files (fopen())
Syntax:
fopen(filename, mode);
Modes:
| Mode | Description |
|---|---|
| r | Read only |
| w | Write (overwrite) |
| a | Append |
| x | Create new file |
| r+ | Read + Write |
Example:
$file = fopen("test.txt", "r");
📖 2. Reading Files (fread())
Example:
$file = fopen("test.txt", "r");
$content = fread($file, filesize("test.txt"));
echo $content;
fclose($file);
Line by Line:
while(!feof($file)) {
echo fgets($file);
}
✍️ 3. Writing Files (fwrite())
Example:
$file = fopen("test.txt", "w");
fwrite($file, "Hello World!");
fclose($file);
Append Mode:
$file = fopen("test.txt", "a");
fwrite($file, "New Line\n");
fclose($file);
❌ 4. Closing File (fclose())
fclose($file);
👉 Always close files to free memory.
📤 5. File Upload System
HTML Form:
<form method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" name="upload">
</form>
PHP Code:
if(isset($_POST['upload'])) {
$fileName = $_FILES['file']['name'];
$tempName = $_FILES['file']['tmp_name'];
$folder = "uploads/" . $fileName; if(move_uploaded_file($tempName, $folder)) {
echo "File uploaded successfully!";
} else {
echo "Upload failed!";
}
}
🔒 File Upload Validation (IMPORTANT)
$allowed = ['jpg','png','pdf'];
$ext = pathinfo($fileName, PATHINFO_EXTENSION);if(in_array($ext, $allowed)) {
// upload
}
👉 Always validate:
- File type
- File size
- Rename file (avoid overwrite)
📁 6. Directory Handling
Create Directory:
mkdir("new_folder");
Delete Directory:
rmdir("new_folder");
List Files:
$files = scandir("uploads");
print_r($files);
🔍 Check File Exists
if(file_exists("test.txt")) {
echo "File exists";
}
🧠 Important Functions Summary
| Function | Use |
|---|---|
| fopen() | Open file |
| fread() | Read file |
| fwrite() | Write file |
| fclose() | Close file |
| feof() | End of file check |
| fgets() | Read line |
| file_exists() | Check file |
| move_uploaded_file() | Upload file |
| mkdir() | Create folder |
| scandir() | List directory |
⚠️ Best Practices
- Always close files
- Use file permissions carefully
- Validate uploads (security)
- Avoid storing sensitive data in plain text
💡 Mini Practice Task
👉 Create a system that:
- Uploads a file
- Saves file name in
log.txt - Displays all uploaded files






