📖 Scenario: You are working on a simple PHP script to save and read notes from a text file. You will learn how to open files in different modes to write and read data.
🎯 Goal: Create a PHP script that writes a note to a file and then reads the content back using the correct file open modes.
📋 What You'll Learn
Create a variable with the filename 'notes.txt'.
Create a variable with the note text 'Remember to buy milk'.
Open the file in write mode to save the note.
Close the file after writing.
Open the file in read mode to read the note.
Print the content read from the file.
💡 Why This Matters
🌍 Real World
Saving and reading notes or logs in files is common in many applications like note-taking apps or logging systems.
💼 Career
Understanding file open modes is essential for backend developers who manage file input/output operations.
Progress0 / 4 steps
1
Create filename and note variables
Create a variable called filename and set it to the string 'notes.txt'. Create another variable called note and set it to the string 'Remember to buy milk'.
PHP
Hint
Use = to assign the exact strings to the variables.
2
Open file in write mode
Use fopen with the variable $filename and the mode 'w' to open the file for writing. Store the result in a variable called $file.
PHP
Hint
Use fopen with mode 'w' to open the file for writing.
3
Write note and close file
Use fwrite to write the variable $note to the file stored in $file. Then use fclose to close the file.
PHP
Hint
Write the note to the file and then close it to save changes.
4
Read and print file content
Open the file again using fopen with mode 'r' and store it in $file. Use fread with filesize($filename) to read the content into $content. Close the file and then use echo to print $content.
PHP
Hint
Open the file in read mode, read all content, close the file, and print the content.
Practice
(1/5)
1. Which PHP file open mode allows you to read from a file without changing its contents?
easy
A. r - Open for reading only
B. w - Open for writing only
C. a - Open for appending
D. x - Create and open for writing
Solution
Step 1: Understand the purpose of each mode
r mode opens a file for reading only, without modifying it. Other modes allow writing or creating files.
Step 2: Match the mode to the requirement
Since the question asks for reading without changing, r is the correct mode.
Final Answer:
r - Open for reading only -> Option A
Quick Check:
Read only = r [OK]
Hint: Read only mode is just 'r' in PHP file functions [OK]
Common Mistakes:
Choosing 'w' which overwrites the file
Confusing 'a' (append) with read mode
Using 'x' which creates a new file
2. Which of the following is the correct syntax to open a file for writing in PHP?
easy
A. fopen('file.txt', 'r')
B. fopen('file.txt', 'a')
C. fopen('file.txt', 'rw')
D. fopen('file.txt', 'w')
Solution
Step 1: Recall the mode for writing
The mode 'w' opens a file for writing and truncates it if it exists.
Step 2: Check syntax correctness
fopen('file.txt', 'w') is the correct syntax to open for writing.
Final Answer:
fopen('file.txt', 'w') -> Option D
Quick Check:
Write mode = 'w' [OK]
Hint: Use 'w' to open file for writing in fopen [OK]
The file is opened in 'r' mode which is read-only and does not allow writing.
Step 2: Understand fwrite limitation
Calling fwrite on a read-only file causes an error because writing is not permitted.
Final Answer:
Cannot write to a file opened in 'r' mode -> Option C
Quick Check:
Write needs 'w' or 'a' mode [OK]
Hint: Write only works if file opened with 'w' or 'a' [OK]
Common Mistakes:
Ignoring mode restrictions
Assuming fclose fixes write errors
Confusing syntax errors with mode errors
5. You want to open a file in PHP to read and write without truncating it, and create it if it doesn't exist. Which mode should you use?
hard
A. w+
B. a+
C. r+
D. x+
Solution
Step 1: Understand each mode's behavior
r+ reads/writes but fails if file missing; w+ truncates file; a+ reads/writes, creates if missing, appends writes; x+ creates new file only.
Step 2: Match requirements
We want read/write, no truncation, and create if missing. a+ fits all: it opens for reading and appending, creates file if missing, and does not truncate.
Final Answer:
a+ -> Option B
Quick Check:
Read/write + create + no truncate = a+ [OK]
Hint: Use 'a+' to read/write and create without truncating [OK]
Common Mistakes:
Choosing 'r+' which fails if file missing
Choosing 'w+' which truncates file
Confusing 'x+' which fails if file exists
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.