Bird
Raised Fist0
PHPprogramming~5 mins

Directory operations in PHP - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What PHP function is used to open a directory for reading?
The opendir() function is used to open a directory and prepare it for reading its contents.
Click to reveal answer
beginner
How do you read entries from an opened directory in PHP?
Use the readdir() function to read the next entry (file or directory name) from the directory handle.
Click to reveal answer
beginner
What is the purpose of the closedir() function in PHP?
It closes an open directory handle, freeing up system resources.
Click to reveal answer
beginner
How can you check if a directory exists in PHP?
Use the is_dir() function, which returns true if the path is a directory, otherwise false.
Click to reveal answer
beginner
Which PHP function creates a new directory?
The mkdir() function creates a new directory with specified permissions.
Click to reveal answer
Which function opens a directory for reading in PHP?
Afopen()
Breadfile()
Copendir()
Ddir_open()
What does readdir() return when it reaches the end of a directory?
Afalse
Bnull
Cempty string
D0
Which function checks if a path is a directory?
Afile_exists()
Bis_file()
Cdir_exists()
Dis_dir()
How do you close a directory handle in PHP?
Aclose()
Bclosedir()
Cdir_close()
Denddir()
Which function creates a new directory?
Amkdir()
Bnewdir()
Ccreatedir()
Ddir_create()
Explain the steps to read all files and directories inside a directory in PHP.
Think about opening, reading each entry, and then closing.
You got /4 concepts.
    How can you safely create a directory only if it does not already exist in PHP?
    Check first, then create.
    You got /3 concepts.

      Practice

      (1/5)
      1. Which PHP function is used to create a new directory?
      easy
      A. mkdir()
      B. rmdir()
      C. opendir()
      D. closedir()

      Solution

      1. Step 1: Understand directory creation functions

        In PHP, mkdir() is the function designed to create new directories.
      2. Step 2: Differentiate from other directory functions

        rmdir() removes directories, opendir() opens directories, and closedir() closes them.
      3. Final Answer:

        mkdir() -> Option A
      4. Quick Check:

        Create directory = mkdir() [OK]
      Hint: Create folders with mkdir() function in PHP [OK]
      Common Mistakes:
      • Confusing mkdir() with rmdir()
      • Using opendir() to create folders
      • Trying to create folder without mkdir()
      2. Which of the following is the correct syntax to remove an empty directory named temp in PHP?
      easy
      A. delete('temp');
      B. remove_dir('temp');
      C. rmdir('temp');
      D. rm('temp');

      Solution

      1. Step 1: Identify the correct function for removing directories

        PHP uses rmdir() to remove empty directories.
      2. Step 2: Check syntax correctness

        The syntax rmdir('temp'); correctly removes the directory named 'temp'. Other options are not valid PHP functions.
      3. Final Answer:

        rmdir('temp'); -> Option C
      4. Quick Check:

        Remove empty folder = rmdir() [OK]
      Hint: Use rmdir('foldername') to delete empty folders [OK]
      Common Mistakes:
      • Using non-existent functions like remove_dir()
      • Trying to delete non-empty folders with rmdir() without clearing
      • Syntax errors like missing quotes or semicolons
      3. What will be the output of the following PHP code?
      $dir = 'myfolder';
      if (is_dir($dir)) {
        $handle = opendir($dir);
        while (($file = readdir($handle)) !== false) {
          echo $file . ' ';
        }
        closedir($handle);
      } else {
        echo 'Directory not found';
      }
      medium
      A. Syntax error
      B. Only files inside 'myfolder' without '.' and '..'
      C. Directory not found
      D. List of all files and folders inside 'myfolder' including '.' and '..'

      Solution

      1. Step 1: Check if directory exists

        The code uses is_dir() to check if 'myfolder' exists. If it does, it proceeds to open it.
      2. Step 2: Read directory contents with readdir()

        The readdir() function reads all entries including special entries '.' (current directory) and '..' (parent directory). These are echoed with spaces.
      3. Final Answer:

        List of all files and folders inside 'myfolder' including '.' and '..' -> Option D
      4. Quick Check:

        readdir() lists all entries including '.' and '..' [OK]
      Hint: readdir() returns '.' and '..' entries by default [OK]
      Common Mistakes:
      • Assuming '.' and '..' are excluded automatically
      • Not checking if directory exists before reading
      • Forgetting to close directory handle
      4. Consider this PHP code snippet:
      $dir = 'testdir';
      if (mkdir($dir)) {
        echo 'Created';
      } else {
        echo 'Failed';
      }
      rmdir($dir);

      What is the main issue if the directory testdir already exists?
      medium
      A. mkdir() will fail and echo 'Failed', and rmdir() will fail to remove the directory
      B. mkdir() will fail and echo 'Failed', but rmdir() will still remove the directory
      C. mkdir() will fail and echo 'Failed', and rmdir() will remove the directory anyway
      D. mkdir() will overwrite the existing directory

      Solution

      1. Step 1: Behavior of mkdir() when directory exists

        If testdir already exists, mkdir() returns false and echoes 'Failed'.
      2. Step 2: Behavior of rmdir() on existing directory

        Since the directory exists, rmdir() will attempt to remove it. If the directory is empty and permissions allow, it will succeed. Otherwise, it will fail.
      3. Final Answer:

        mkdir() will fail and echo 'Failed', but rmdir() will still remove the directory -> Option B
      4. Quick Check:

        mkdir() fails if exists; rmdir() removes empty directory [OK]
      Hint: mkdir() fails if folder exists; rmdir() needs empty folder [OK]
      Common Mistakes:
      • Assuming mkdir() overwrites existing folders
      • Expecting rmdir() to always succeed
      • Not checking if directory is empty before rmdir()
      5. You want to list all files in a directory docs but skip the special entries . and ... Which PHP code snippet correctly does this?
      hard
      A. if (is_dir('docs')) { $dh = opendir('docs'); while (($file = readdir($dh)) !== false) { if ($file != '.' && $file != '..') { echo $file . ' '; } } closedir($dh); }
      B. if (is_dir('docs')) { $dh = opendir('docs'); while (($file = readdir($dh))) { echo $file . ' '; } closedir($dh); }
      C. foreach (scandir('docs') as $file) { echo $file . ' '; }
      D. if (is_dir('docs')) { $dh = opendir('docs'); while (($file = readdir($dh)) !== false) { echo $file . ' '; } closedir($dh); }

      Solution

      1. Step 1: Understand how to skip '.' and '..'

        The special entries '.' and '..' appear in directory listings and must be explicitly skipped.
      2. Step 2: Analyze each code snippet

        if (is_dir('docs')) { $dh = opendir('docs'); while (($file = readdir($dh)) !== false) { if ($file != '.' && $file != '..') { echo $file . ' '; } } closedir($dh); } checks if the file is not '.' or '..' before echoing. foreach (scandir('docs') as $file) { echo $file . ' '; } uses scandir() but does not skip special entries.
      3. Final Answer:

        The snippet using if ($file != '.' && $file != '..') -> Option A
      4. Quick Check:

        Skip '.' and '..' with if check inside readdir() loop [OK]
      Hint: Use if ($file != '.' && $file != '..') to skip special entries [OK]
      Common Mistakes:
      • Not skipping '.' and '..' entries
      • Using scandir() without filtering special entries
      • Forgetting to check for false in readdir() loop
      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