Path

ez components / documentation / api reference / trunk / base


eZ Components trunk

Base: ezcBaseFile

[ Tutorial ] [ Class tree ] [ Element index ] [ ChangeLog ] [ Credits ]

Class: ezcBaseFile

Provides a selection of static independent methods to provide functionality for file and file system handling. [source]
This example shows how to use the findRecursive method:
 1.  <?php
 2.  // lists all the files under /etc (including subdirectories) that end in
 3.  // .conf
 4.   $confFiles ezcBaseFile::findRecursive"/etc"array'@\.conf$@' ) );
 5.  
 6.  // lists all autoload files in the components source tree and excludes the
 7.  // ones in the autoload subdirectory. Statistics are returned in the $stats
 8.  // variable which is passed by reference.
 9.   $files ezcBaseFile::findRecursive(
10.      "/dat/dev/ezcomponents",
11.      array'@src/.*_autoload.php$@' ),
12.      array'@/autoload/@' ),
13.      $stats
14.  );
15.  
16.  // lists all binaries in /bin except the ones starting with a "g"
17.   $data ezcBaseFile::findRecursive"/bin"array()array'@^/bin/g@' ) );
18.  ?>

Descendents

Child Class Description
ezcFile Provides a selection of static independent methods to provide functionality for file and file system handling. This class is deprecated, please use ezcBaseFile instead.

Method Summary

public static string calculateRelativePath( $path, $base )
Calculates the relative path of the file/directory '$path' to a given $base path.
public static void copyRecursive( $source, $destination, [$depth = -1], [$dirMode = 0775], [$fileMode = 0664] )
Recursively copy a file or directory.
public static array findRecursive( $sourceDir, [$includeFilters = array()], [$excludeFilters = array()], [&$statistics = null], $statistics )
Finds files recursively on a file system
public static bool isAbsolutePath( $path, [$os = null] )
Returns whether the passed $path is an absolute path, giving the current $os.
public static void removeRecursive( $directory )
Removes files and directories recursively from a file system

Methods

calculateRelativePath

string calculateRelativePath( string $path, string $base )
Calculates the relative path of the file/directory '$path' to a given $base path.
This method does not touch the filesystem.

Parameters

Name Type Description
$path string  
$base string  

copyRecursive

void copyRecursive( string $source, string $destination, [int $depth = -1], [int $dirMode = 0775], [int $fileMode = 0664] )
Recursively copy a file or directory.
Recursively copy a file or directory in $source to the given destination. If a depth is given, the operation will stop, if the given recursion depth is reached. A depth of -1 means no limit, while a depth of 0 means, that only the current file or directory will be copied, without any recursion.
You may optionally define modes used to create files and directories.

Parameters

Name Type Description
$source string  
$destination string  
$depth int  
$dirMode int  
$fileMode int  

Throws

ClassDescription
ezcBaseFileNotFoundException If the $sourceDir directory is not a directory or does not exist.
ezcBaseFilePermissionException If the $sourceDir directory could not be opened for reading, or the destination is not writeable.

findRecursive

array findRecursive( string $sourceDir, [ $includeFilters = array()], [ $excludeFilters = array()], [ &$statistics = null], array() $statistics )
Finds files recursively on a file system
With this method you can scan the file system for files. You can use $includeFilters to include only specific files, and $excludeFilters to exclude certain files from being returned. The function will always go into subdirectories even if the entry would not have passed the filters.
Filters are regular expressions and are therefore required to have starting and ending delimiters. The Perl Compatible syntax is used as regular expression language.
If you pass an empty array to the $statistics argument, the function will in details about the number of files found into the 'count' array element, and the total filesize in the 'size' array element. Because this argument is passed by reference, you *have* to pass a variable and you can not pass a constant value such as "array()".

Parameters

Name Type Description
$sourceDir string  
$includeFilters array(string)  
$excludeFilters array(string)  
$statistics array()  
&$statistics  

Throws

ClassDescription
ezcBaseFileNotFoundException if the $sourceDir directory is not a directory or does not exist.
ezcBaseFilePermissionException if the $sourceDir directory could not be opened for reading.

isAbsolutePath

bool isAbsolutePath( string $path, [string $os = null] )
Returns whether the passed $path is an absolute path, giving the current $os.
With the $os parameter you can tell this function to use the semantics for a different operating system to determine whether a path is absolute. The $os argument defaults to the OS that the script is running on.

Parameters

Name Type Description
$path string  
$os string  

removeRecursive

void removeRecursive( string $directory )
Removes files and directories recursively from a file system
This method recursively removes the $directory and all its contents. You should be extremely careful with this method as it has the potential to erase everything that the current user has access to.

Parameters

Name Type Description
$directory string  

Last updated: Thu, 03 Jul 2008