Bird
Raised Fist0
PHPprogramming~10 mins

File open modes in PHP - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to open a file for reading only.

PHP
<?php
$file = fopen('example.txt', '[1]');
?>
Drag options to blanks, or click blank then click option'
Aw
Br
Ca
Dx
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'w' which opens the file for writing and truncates it.
2fill in blank
medium

Complete the code to open a file for writing and truncate it if it exists.

PHP
<?php
$file = fopen('example.txt', '[1]');
?>
Drag options to blanks, or click blank then click option'
Aw
Br+
Ca
Dr
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'a' which appends instead of truncating.
3fill in blank
hard

Fix the error in the code to open a file for appending.

PHP
<?php
$file = fopen('example.txt', '[1]');
?>
Drag options to blanks, or click blank then click option'
Aw
Br
Ca
Dx
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'w' which overwrites the file instead of appending.
4fill in blank
hard

Fill both blanks to open a file for reading and writing without truncating.

PHP
<?php
$file = fopen('example.txt', '[1][2]');
?>
Drag options to blanks, or click blank then click option'
Ar
B+
Cw
Da
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'w+' which truncates the file.
5fill in blank
hard

Fill all three blanks to open a file for writing and reading, creating it if it doesn't exist.

PHP
<?php
$file = fopen('example.txt', '[1][2][3]');
?>
Drag options to blanks, or click blank then click option'
Ar
B+
Cw
Dx
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'r+' which does not create the file if missing.

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

  1. 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.
  2. Step 2: Match the mode to the requirement

    Since the question asks for reading without changing, r is the correct mode.
  3. Final Answer:

    r - Open for reading only -> Option A
  4. 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

  1. Step 1: Recall the mode for writing

    The mode 'w' opens a file for writing and truncates it if it exists.
  2. Step 2: Check syntax correctness

    fopen('file.txt', 'w') is the correct syntax to open for writing.
  3. Final Answer:

    fopen('file.txt', 'w') -> Option D
  4. Quick Check:

    Write mode = 'w' [OK]
Hint: Use 'w' to open file for writing in fopen [OK]
Common Mistakes:
  • Using 'r' which is read-only
  • Using 'rw' which is invalid in PHP
  • Confusing 'a' (append) with write
3. What will be the output of this PHP code?
$file = fopen('test.txt', 'a');
fwrite($file, "Hello\n");
fclose($file);
echo file_get_contents('test.txt');
medium
A. Hello
B. Empty output
C. Error: Cannot write to file
D. olleH

Solution

  1. Step 1: Understand the 'a' mode effect

    Mode 'a' opens the file for appending, so "Hello\n" (string with actual newline) is added at the end.
  2. Step 2: Check output of file_get_contents

    It reads the whole file content including the newline, and echo prints it with the newline interpreted.
  3. Final Answer:

    Hello -> Option A
  4. Quick Check:

    "Hello\n" adds a newline, so output is Hello followed by newline [OK]
Hint: Append adds 'Hello\n'; echo shows Hello with newline [OK]
Common Mistakes:
  • Thinking '\n' becomes literal backslash-n
  • Expecting 'Hello' without newline
  • Assuming error without write permission
4. Identify the error in this PHP code snippet:
$file = fopen('data.txt', 'r');
fwrite($file, 'Test');
fclose($file);
medium
A. Missing file path
B. File not closed properly
C. Cannot write to a file opened in 'r' mode
D. fwrite syntax is incorrect

Solution

  1. Step 1: Check file open mode

    The file is opened in 'r' mode which is read-only and does not allow writing.
  2. Step 2: Understand fwrite limitation

    Calling fwrite on a read-only file causes an error because writing is not permitted.
  3. Final Answer:

    Cannot write to a file opened in 'r' mode -> Option C
  4. 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

  1. 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.
  2. 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.
  3. Final Answer:

    a+ -> Option B
  4. 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 unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard