[ Index ]

PHP Cross Reference of MantisBT

title

Body

[close]

/library/ezc/Base/src/ -> file.php (summary)

(no description)

Copyright: Copyright (C) 2005-2009 eZ Systems AS. All rights reserved.
License: http://ez.no/licenses/new_bsd New BSD License
Version: 1.8
File Size: 495 lines (18 kb)
Included or required:0 times
Referenced: 0 times
Includes or requires: 0 files

Defines 1 class

ezcBaseFile:: (7 methods):
  findRecursiveCallback()
  walkRecursive()
  findRecursive()
  removeRecursive()
  copyRecursive()
  calculateRelativePath()
  isAbsolutePath()


Class: ezcBaseFile  - X-Ref

Provides a selection of static independent methods to provide functionality
for file and file system handling.

This example shows how to use the findRecursive method:
<code>
<?php
// lists all the files under /etc (including subdirectories) that end in
// .conf
$confFiles = ezcBaseFile::findRecursive( "/etc", array( '@\.conf$@' ) );

// lists all autoload files in the components source tree and excludes the
// ones in the autoload subdirectory. Statistics are returned in the $stats
// variable which is passed by reference.
$files = ezcBaseFile::findRecursive(
"/dat/dev/ezcomponents",
array( '@src/.*_autoload.php$@' ),
array( '@/autoload/@' ),
$stats
);

// lists all binaries in /bin except the ones starting with a "g"
$data = ezcBaseFile::findRecursive( "/bin", array(), array( '@^/bin/g@' ) );
?>
</code>

findRecursiveCallback( ezcBaseFileFindContext $context, $sourceDir, $fileName, $fileInfo )   X-Ref
This is the callback used by findRecursive to collect data.

This callback method works together with walkRecursive() and is called
for every file/and or directory. The $context is a callback specific
container in which data can be stored and shared between the different
calls to the callback function. The walkRecursive() function also passes
in the full absolute directory in $sourceDir, the filename in $fileName
and file information (such as size, modes, types) as an array as
returned by PHP's stat() in the $fileInfo parameter.

param: ezcBaseFileFindContext $context
param: string $sourceDir
param: string $fileName
param: array(stat) $fileInfo

walkRecursive( $sourceDir, array $includeFilters = array()   X-Ref
Walks files and directories recursively on a file system

This method walks over a directory and calls a callback from every file
and directory it finds. 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.

The callback is passed in the $callback parameter, and the
$callbackContext will be send to the callback function/method as
parameter so that you can store data in there that persists with all the
calls and recursive calls to this method. It's up to the callback method
to do something useful with this. The callback function's parameters are
in order:

<ul>
<li>ezcBaseFileFindContext $context</li>
<li>string $sourceDir</li>
<li>string $fileName</li>
<li>array(stat) $fileInfo</li>
</ul>

See {@see findRecursiveCallback()} for an example of a callback function.

Filters are regular expressions and are therefore required to have
starting and ending delimiters. The Perl Compatible syntax is used as
regular expression language.

param: string         $sourceDir
param: array(string)  $includeFilters
param: array(string)  $excludeFilters
param: callback       $callback
param: mixed          $callbackContext
return: array

findRecursive( $sourceDir, array $includeFilters = array()   X-Ref
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.
It uses the {@see walkRecursive()} method to do the actually recursion.

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()".

param: string         $sourceDir
param: array(string)  $includeFilters
param: array(string)  $excludeFilters
param: array()        $statistics
return: array

removeRecursive( $directory )   X-Ref
Removes files and directories recursively from a file system

This method recursively removes the $directory and all its contents.
You should be <b>extremely</b> careful with this method as it has the
potential to erase everything that the current user has access to.

param: string $directory

copyRecursive( $source, $destination, $depth = -1, $dirMode = 0775, $fileMode = 0664 )   X-Ref
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.

param: string $source
param: string $destination
param: int $depth
param: int $dirMode
param: int $fileMode
return: void

calculateRelativePath( $path, $base )   X-Ref
Calculates the relative path of the file/directory '$path' to a given
$base path.

$path and $base should be fully absolute paths. This function returns the
answer of "How do I go from $base to $path". If the $path and $base are
the same path, the function returns '.'. This method does not touch the
filesystem.

param: string $path
param: string $base
return: string

isAbsolutePath( $path, $os = null )   X-Ref
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.

param: string $path
param: string $os
return: bool



Generated: Thu Jul 28 15:48:31 2011 Cross-referenced by PHPXref 0.7