function ArchiveTar::_dirCheck

Check if a directory exists and create it (including parent dirs) if not.

Parameters

string $p_dir directory to check:

Return value

bool TRUE if the directory exists or was created

1 call to ArchiveTar::_dirCheck()
ArchiveTar::_extractList in drupal/core/lib/Drupal/Component/Archiver/ArchiveTar.php

File

drupal/core/lib/Drupal/Component/Archiver/ArchiveTar.php, line 1802

Class

ArchiveTar
Creates a (compressed) Tar archive

Namespace

Drupal\Component\Archiver

Code

function _dirCheck($p_dir) {
  clearstatcache(TRUE, $p_dir);
  if (@is_dir($p_dir) || $p_dir == '') {
    return true;
  }
  $p_parent_dir = dirname($p_dir);
  if ($p_parent_dir != $p_dir && $p_parent_dir != '' && !$this
    ->_dirCheck($p_parent_dir)) {
    return false;
  }

  // Drupal integration.
  // Changed the code to use drupal_mkdir() instead of mkdir().
  if (!@drupal_mkdir($p_dir, 0777)) {
    $this
      ->_error("Unable to create directory '{$p_dir}'");
    return false;
  }
  return true;
}