Exponential Basic 2.4.0.1 Exponential Basic CMS — PHP Class Reference

Static Public Member Functions | Public Attributes | Static Private Member Functions | List of all members
eZDir Class Reference

The class eZDir does. More...

## Static Public Member Functions
static | createMultiLevelPath ( $key, $maxDepth=-1)
static | getPathFromFilename ( $filename)
static | filenamePath ( $filename, $maxCharLen=2)
static | mkdir ( $dir, $perm=false, $recursive=false)
static | cleanupEmptyDirectories ( $dir)
static | dirpath ( $filepath)
static | directoryPermission ()
static | separator ( $type)
static | convertSeparators ( $path, $toType=self::SEPARATOR_UNIX)
static | cleanPath ( $path, $toType=self::SEPARATOR_UNIX)
static | path ( $names, $includeEndSeparator=false, $type=self::SEPARATOR_UNIX)
static | recursiveDelete ( $dir, $rootCheck=true)
static | recursiveList ( $dir, $path, &$fileList)
static | recursiveFind ( $dir, $suffix)
static | unlinkWildcard ( $dir, $pattern)
static | recursiveFindRelative ( $baseDir, $subDir, $suffix)
static | findSubdirs ( $dir, $includeHidden=false, $excludeItems=false)
static | findSubitems ( $dir, $types=false, $fullPath=false, $includeHidden=false, $excludeItems=false)
static | copy ( $sourceDirectory, &$destinationDirectory, $asChild=true, $recursive=true, $includeHidden=false, $excludeItems=false)
static | temporaryFileRegexp ( $standalone=true)
static | isWriteable ( $dirname)

## Public Attributes
const | SEPARATOR_LOCAL = 1
const | SEPARATOR_UNIX = 2
const | SEPARATOR_DOS = 3

## Static Private Member Functions
static | doMkdir ( $dir, $perm, $recursive=false)

## Detailed Description

The class eZDir does.

Definition at line 17 of file ezdir.php.

## Member Function Documentation

## ◆ cleanPath()

static eZDir::cleanPath | ( |  | $path,
|  |  | $toType = `self::SEPARATOR_UNIX`
| ) |  |
| static

Removes all unneeded directory separators and resolves any "."s and ".."s found in $path.

For instance: "var/../lib/ezdb" becomes "lib/ezdb", while "../site/var" will not be changed.

Note
  Will also convert separators

See also
  convertSeparators.

Definition at line 203 of file ezdir.php.

References $separator, convertSeparators(), and separator().

Referenced by cleanupEmptyDirectories(), dirpath(), mkdir(), eZExtension\nameFromPath(), and path().

## ◆ cleanupEmptyDirectories()

static eZDir::cleanupEmptyDirectories | ( |  | $dir | ) |
| static

Goes trough the directory path $dir and removes empty directories.

Note
  This is just the opposite of mkdir() with $parents set to `true`.

Definition at line 96 of file ezdir.php.

References $dir, $i, $result, cleanPath(), doMkdir(), and file_exists().

Referenced by eZClusterFileHandler\cleanupEmptyDirectories(), and eZWebDAVContentBackend\setResourceContents().

## ◆ convertSeparators()

static eZDir::convertSeparators | ( |  | $path,
|  |  | $toType = `self::SEPARATOR_UNIX`
| ) |  |
| static

Converts any directory separators found in $path, in both unix and dos style, into the separator type specified by $toType and returns it.

Definition at line 189 of file ezdir.php.

References $separator, and separator().

Referenced by cleanPath().

## ◆ copy()

static eZDir::copy | ( |  | $sourceDirectory,
|  | & | $destinationDirectory,
|  |  | $asChild = `true`,
|  |  | $recursive = `true`,
|  |  | $includeHidden = `false`,
|  |  | $excludeItems = `false`
| ) |  |
| static

Copies a directory (and optionally all it's subitems) to another directory.

Parameters

  $sourceDirectory | The source directory which should be copied, this location must exist.
  $destinationDirectory | The location for the copied directory structure, this location must exist. This parameter will be modified if $asChild is `true`.
  $asChild | If `true` then it will use last part of the $sourceDirectory as a sub-folder to $destinationDirectory. e.g. copying /etc/httpd to /var/ will create /var/httpd and place all folders/files under it.
  $recursive | If `true` then it will copy folders/files recursively from folders found in $sourceDirectory.
  $includeHidden | If `true` it will include files or folders beginning with a dot (.).
  $excludeItems | A regular expression used to exclude files or folders in the subtree, use `false` for no exclusion.

Note
  The parameter $recursive is currently unused, it will always copy recursively.

Definition at line 578 of file ezdir.php.

References $item, $items, eZFileHandler\copy(), directoryPermission(), findSubitems(), mkdir(), and eZDebug\writeError().

## ◆ createMultiLevelPath()

static eZDir::createMultiLevelPath | ( |  | $key,
|  |  | $maxDepth = `-1`
| ) |  |
| static

Returns
  a multi-level path from a specific key. For example:
  echo createMultiLevelPath( "42abce", 3 );
  eZDir\createMultiLevelPath
  static createMultiLevelPath( $key, $maxDepth=-1)
  Definition: ezdir.php:35
  returns "/4/2/abce"

Parameters: $key: the key to be used as path $maxDepth: the maximum number of path elements to be created (-1 is unlimited)

Definition at line 35 of file ezdir.php.

References separator().

## ◆ directoryPermission()

static eZDir::directoryPermission | ( |  | ) |
| static

Returns
  the default permissions to use for directories.

Note
  The permission is converted from octal text to decimal value.

Definition at line 143 of file ezdir.php.

Referenced by copy(), mkdir(), and eZWebDAVContentBackend\tempDirectory().

## ◆ dirpath()

static eZDir::dirpath | ( |  | $filepath | ) |
| static

Returns
  the dirpath portion of the filepath $filepath.
  $dirpath = eZDir::dirpath( "path/to/some/file.txt" );
  print( $dirpath ); // prints out path/to/some
  eZDir\dirpath
  static dirpath( $filepath)
  Definition: ezdir.php:130

Definition at line 130 of file ezdir.php.

References cleanPath().

Referenced by eZClusterFileHandler\cleanupEmptyDirectories().

## ◆ doMkdir()

static eZDir::doMkdir | ( |  | $dir,
|  |  | $perm,
|  |  | $recursive = `false`
| ) |  |
| static private

Creates the directory $dir with permission $perm.

Definition at line 153 of file ezdir.php.

References $dir, and mkdir().

Referenced by cleanupEmptyDirectories().

## ◆ filenamePath()

static eZDir::filenamePath | ( |  | $filename,
|  |  | $maxCharLen = `2`
| ) |  |
| static

Definition at line 56 of file ezdir.php.

References $i.

## ◆ findSubdirs()

static eZDir::findSubdirs | ( |  | $dir,
|  |  | $includeHidden = `false`,
|  |  | $excludeItems = `false`
| ) |  |
| static

Returns all subdirectories in a folder

Definition at line 520 of file ezdir.php.

References $dir, and findSubitems().

Referenced by eZTSTranslator\fetchList().

## ◆ findSubitems()

static eZDir::findSubitems | ( |  | $dir,
|  |  | $types = `false`,
|  |  | $fullPath = `false`,
|  |  | $includeHidden = `false`,
|  |  | $excludeItems = `false`
| ) |  |
| static

Returns all subdirectories in a folder

Definition at line 529 of file ezdir.php.

References $dir, $element, and $types.

Referenced by copy(), eZTSTranslator\fetchList(), and findSubdirs().

## ◆ getPathFromFilename()

static eZDir::getPathFromFilename | ( |  | $filename | ) |
| static

Definition at line 42 of file ezdir.php.

References $i, $ini, and $pathArray.

## ◆ isWriteable()

static eZDir::isWriteable | ( |  | $dirname | ) |
| static

Check if a given directory is writeable

Returns
  TRUE/FALSE

Definition at line 646 of file ezdir.php.

References $fp, eZSys\fileSeparator(), and eZSys\osType().

## ◆ mkdir()

static eZDir::mkdir | ( |  | $dir,
|  |  | $perm = `false`,
|  |  | $recursive = `false`
| ) |  |
| static

Creates the directory $dir with permissions $perm. If $recursive is true it will create any missing parent directories, just like 'mkdir -p'.

Definition at line 74 of file ezdir.php.

References $dir, cleanPath(), directoryPermission(), and file_exists().

Referenced by ezpRestCacheStorageCluster\__construct(), eZWebDAVContentBackend\appendLogEntry(), eZCharTransform\cacheFilePath(), copy(), eZFile\create(), doMkdir(), eZDFSFileHandlerMySQLiBackend\mkdir_p(), eZFile\rename(), eZTranslationCache\storeCache(), eZWebDAVContentBackend\storeUploadedFile(), eZWebDAVContentBackend\tempDirectory(), eZLog\write(), eZDebug\writeFile(), and eZLog\writeStorageLog().

## ◆ path()

static eZDir::path | ( |  | $names,
|  |  | $includeEndSeparator = `false`,
|  |  | $type = `self::SEPARATOR_UNIX`
| ) |  |
| static

Creates a path out of all the dir and file items in the array $names with correct separators in between them. It will also remove unneeded separators. $type is used to determine the separator type, see eZDir::separator. If $includeEndSeparator is true then it will make sure that the path ends with a separator if false it make sure there are no end separator.

Definition at line 238 of file ezdir.php.

References $separator, $type, cleanPath(), and separator().

Referenced by eZTranslationCache\cacheDirectory(), eZSys\cacheDirectory(), eZTSTranslator\loadTranslationFile(), eZDebug\printReport(), eZTranslationCache\rootCacheDirectory(), eZSys\storageDirectory(), and eZSys\varDirectory().

## ◆ recursiveDelete()

static eZDir::recursiveDelete | ( |  | $dir,
|  |  | $rootCheck = `true`
| ) |  |
| static

Removes a directory and all it's contents, recursively.

Parameters

  string | $dir | Directory to remove
  bool | $rootCheck | Check whether $dir is supposed to be contained in eZ Publish root directory

Returns
  bool True if the operation succeeded, false otherwise

Definition at line 265 of file ezdir.php.

References $dir, $file, eZSys\rootDir(), and eZDebug\writeError().

Referenced by eZFSFileHandler\delete(), eZFSFileHandler\fileDelete(), and eZDFSFileHandler\purge().

## ◆ recursiveFind()

static eZDir::recursiveFind | ( |  | $dir,
|  |  | $suffix
| ) |  |
| static

Recurses through the directory and returns the files that matches the given suffix

Note
  This function will not traverse . (hidden) folders

Definition at line 362 of file ezdir.php.

References $dir, $file, $files, and $suffix.

## ◆ recursiveFindRelative()

static eZDir::recursiveFindRelative | ( |  | $baseDir,
|  |  | $subDir,
|  |  | $suffix
| ) |  |
| static

Recurses through the directory and returns the files that matches the given suffix. This function will store the relative path from the given base only. Note: this function will not traverse . (hidden) folders

Definition at line 472 of file ezdir.php.

References $dir, $file, $files, and $suffix.

## ◆ recursiveList()

static eZDir::recursiveList | ( |  | $dir,
|  |  | $path,
|  | & | $fileList
| ) |  |
| static

Creates a list of all files and dirs in the directory.

Definition at line 333 of file ezdir.php.

References $dir, $file, and $fileList.

## ◆ separator()

static eZDir::separator | ( |  | $type | ) |
| static

Returns
  the separator used between directories and files according to $type.

Type can be one of the following:

- self::SEPARATOR_LOCAL - Returns whatever is applicable for the current machine.
- self::SEPARATOR_UNIX - Returns a /
- self::SEPARATOR_DOS - Returns a \

Definition at line 170 of file ezdir.php.

References $type, eZSys\fileSeparator(), SEPARATOR_DOS, SEPARATOR_LOCAL, and SEPARATOR_UNIX.

Referenced by cleanPath(), convertSeparators(), createMultiLevelPath(), and path().

## ◆ temporaryFileRegexp()

static eZDir::temporaryFileRegexp | ( |  | $standalone = `true` | ) |
| static

Returns
  a regexp which will match certain temporary files.

Definition at line 629 of file ezdir.php.

## ◆ unlinkWildcard()

static eZDir::unlinkWildcard | ( |  | $dir,
|  |  | $pattern
| ) |  |
| static

Unlink files match the given pattern in the given directory.

Definition at line 396 of file ezdir.php.

References $dir, $file, $fileName, $i, and $type.

## Member Data Documentation

## ◆ SEPARATOR_DOS

const eZDir::SEPARATOR_DOS = 3

Definition at line 21 of file ezdir.php.

Referenced by separator().

## ◆ SEPARATOR_LOCAL

const eZDir::SEPARATOR_LOCAL = 1

Definition at line 19 of file ezdir.php.

Referenced by separator().

## ◆ SEPARATOR_UNIX

const eZDir::SEPARATOR_UNIX = 2

Definition at line 20 of file ezdir.php.

Referenced by separator().

The documentation for this class was generated from the following file:

- ezdir.php

Copyright © 1998 – 2026 7x. All rights reserved. Licensed under the GNU GPLv2+.