# system/io/WinNTFileSystem.php

FileSystem for Windows NT/2000.

Package
  phing.system.io

## \WinNTFileSystem
jump to top

Package: phing\system\io

FileSystem for Windows NT/2000.

You should also use this class as a template to write your local implementation Some native PHP filesystem specific methods are abstracted here as well. Anyway you must always use this methods via a PhingFile object (that by nature uses the *FileSystem drivers to access the real filesystem via this class using natives.

FIXME: - Error handling reduced to min fallthrough runtime exceptions more precise errorhandling is done by the PhingFile class

Parent(s)
  \Win32FileSystem < \FileSystem
Author
  Charlie Killian
Author
  Hans Lellelid
Version
  $Revision: 1260 $

### Properties

`$altSlash= ''`
inherited Inherited from: \Win32FileSystem::$altSlash
Details

Type
Inherited_from
  \Win32FileSystem::$altSlash

`$semicolon= ''`
inherited Inherited from: \Win32FileSystem::$semicolon
Details

Type
Inherited_from
  \Win32FileSystem::$semicolon

`$slash= ''`
inherited Inherited from: \Win32FileSystem::$slash
Details

Type
Inherited_from
  \Win32FileSystem::$slash

### Methods

`__construct( ) : void`
inherited

Inherited from: \Win32FileSystem::__construct()
`_access( $path ) : void`
inherited

Inherited from: \Win32FileSystem::_access()
Parameters

Name | Type | Description
--- | --- | ---
$path |  |

`_driveIndex( $d ) : void`
inherited

private

Inherited from: \Win32FileSystem::_driveIndex()
Parameters

Name | Type | Description
--- | --- | ---
$d |  |

`_getDrive( $path ) : void`
inherited

Inherited from: \Win32FileSystem::_getDrive()
Parameters

Name | Type | Description
--- | --- | ---
$path |  |

`_getDriveDirectory( $drive ) : void`
inherited

private

Inherited from: \Win32FileSystem::_getDriveDirectory()
Parameters

Name | Type | Description
--- | --- | ---
$drive |  |

`_getUserPath( ) : void`
inherited

Inherited from: \Win32FileSystem::_getUserPath()
`_nativeListRoots( ) : void`
inherited

Inherited from: \Win32FileSystem::_nativeListRoots()
`canDelete( \PhingFile $f ) : boolean`
inherited

Whether file can be deleted.

Inherited from: \FileSystem::canDelete()
Parameters

Name | Type | Description
--- | --- | ---
$f | \PhingFile |

Returns

Type | Description
--- | ---
boolean |

`canonicalize( string $strPath ) : mixed`
inherited

canonicalize filename by checking on disk

Inherited from: \FileSystem::canonicalize()
Parameters

Name | Type | Description
--- | --- | ---
$strPath | string |

Returns

Type | Description
--- | ---
mixed | Canonical path or false if the file doesn't exist.

`checkAccess( \PhingFile $f, boolean $write = false ) : void`
inherited

Check whether the file or directory denoted by the given abstract pathname may be accessed by this process. If the second argument is false, then a check for read access is made; if the second argument is true, then a check for write (not read-write) access is made. Return false if access is denied or an I/O error occurs.

Inherited from: \FileSystem::checkAccess()
Parameters

Name | Type | Description
--- | --- | ---
$f | \PhingFile |
$write | boolean |

`chgrp( string $pathname, string $group ) : void`
inherited

Change the group on a file or directory.

Inherited from: \FileSystem::chgrp()
Parameters

Name | Type | Description
--- | --- | ---
$pathname | string | Path and name of file or directory.
$group | string | The group of the file or directory. See http://us.php.net/chgrp

Throws

Exception | Description
--- | ---
\IOException | if operation failed.

`chmod( string $pathname, int $mode ) : void`
inherited

Change the permissions on a file or directory.

Inherited from: \FileSystem::chmod()
Parameters

Name | Type | Description
--- | --- | ---
$pathname | string | Path and name of file or directory.
$mode | int | The mode (permissions) of the file or directory. If using octal add leading 0. eg. 0777. Mode is affected by the umask system setting.

Throws

Exception | Description
--- | ---
\IOException | if operation failed.

`chown( string $pathname, string $user ) : void`
inherited

Change the ownership on a file or directory.

Inherited from: \FileSystem::chown()
Parameters

Name | Type | Description
--- | --- | ---
$pathname | string | Path and name of file or directory.
$user | string | The user name or number of the file or directory. See http://us.php.net/chown

Throws

Exception | Description
--- | ---
\Exception | if operation failed.

`compare( \PhingFile $f1, \PhingFile $f2 ) : void`
inherited

compares file paths lexicographically

Inherited from: \Win32FileSystem::compare()
Parameters

Name | Type | Description
--- | --- | ---
$f1 | \PhingFile |
$f2 | \PhingFile |

`compareMTimes( \file1 $file1, \file2 $file2 ) : \Int.`
inherited

Compare the modified time of two files.

Inherited from: \FileSystem::compareMTimes()
Parameters

Name | Type | Description
--- | --- | ---
$file1 | \file1 | String. Path and name of file1.
$file2 | \file2 | String. Path and name of file2.

Returns

Type | Description
--- | ---
\Int. | 1 if file1 is newer. -1 if file2 is newer. 0 if files have the same time. Err object on failure.

Throws

Exception | Description
--- | ---
\Exception | - if cannot get modified time of either file.

`copy( \PhingFile $src, \PhingFile $dest ) : void`
inherited

Copy a file.

Inherited from: \FileSystem::copy()
Parameters

Name | Type | Description
--- | --- | ---
$src | \PhingFile | Source path and name file to copy.
$dest | \PhingFile | Destination path and name of new file.

Throws

Exception | Description
--- | ---
\IOException | if file cannot be copied.

`copyr( string $source, string $dest ) : bool`
inherited

Copy a file, or recursively copy a folder and its contents

Inherited from: \FileSystem::copyr()
Parameters

Name | Type | Description
--- | --- | ---
$source | string | Source path
$dest | string | Destination path

Returns

Type | Description
--- | ---
bool | Returns TRUE on success, FALSE on failure

Details

Author
  Aidan Lister
Link
  http://aidanlister.com/repos/v/function.copyr.php
Version
  1.0.1

`createDirectory( \PhingFile $f, int $mode = 0755 ) : boolean`
inherited

Create a new directory denoted by the given abstract pathname, returning true if and only if the operation succeeds.

Inherited from: \FileSystem::createDirectory()

NOTE: umask() is reset to 0 while executing mkdir(), and restored afterwards

Parameters

Name | Type | Description
--- | --- | ---
$f | \PhingFile |
$mode | int |

Returns

Type | Description
--- | ---
boolean |

`createNewFile( string $strPathname ) : boolean`
inherited

Create a new empty file with the given pathname. Return true if the file was created and false if a file or directory with the given pathname already exists. Throw an IOException if an I/O error occurs.

Inherited from: \FileSystem::createNewFile()
Parameters

Name | Type | Description
--- | --- | ---
$strPathname | string | Path of the file to be created.

Returns

Type | Description
--- | ---
boolean |

Throws

Exception | Description
--- | ---
\IOException |

`delete( \PhingFile $f, boolean $recursive = false ) : void`
inherited

Delete the file or directory denoted by the given abstract pathname, returning true if and only if the operation succeeds.

Inherited from: \FileSystem::delete()
Parameters

Name | Type | Description
--- | --- | ---
$f | \PhingFile |
$recursive | boolean |

`deleteOnExit( \PhingFile $f ) : void`
inherited

Arrange for the file or directory denoted by the given abstract pathname to be deleted when Phing::shutdown is called, returning true if and only if the operation succeeds.

Inherited from: \FileSystem::deleteOnExit()
Parameters

Name | Type | Description
--- | --- | ---
$f | \PhingFile |

Throws

Exception | Description
--- | ---
\IOException |

`fromURIPath( $strPath ) : void`
inherited

Post-process the given URI path string if necessary. This is used on win32, e.g., to transform "/c:/foo" into "c:/foo". The path string still has slash separators; code in the PhingFile class will translate them after this method returns.

Inherited from: \Win32FileSystem::fromURIPath()
Parameters

Name | Type | Description
--- | --- | ---
$strPath |  |

`getBooleanAttributes( \PhingFile $f ) : void`
inherited

Return the simple boolean attributes for the file or directory denoted by the given abstract pathname, or zero if it does not exist or some other I/O error occurs.

Inherited from: \FileSystem::getBooleanAttributes()
Parameters

Name | Type | Description
--- | --- | ---
$f | \PhingFile |

`getDefaultParent( ) : void`
inherited

Return the parent pathname string to be used when the parent-directory argument in one of the two-argument PhingFile constructors is the empty pathname.

Inherited from: \Win32FileSystem::getDefaultParent()
`getFileSystem( ) : \FileSystem`
static inherited

Static method to return the FileSystem singelton representing this platform's local filesystem driver.

Inherited from: \FileSystem::getFileSystem()
Returns

Type | Description
--- | ---
\FileSystem |

Throws

Exception | Description
--- | ---
\IOException |

`getLastModifiedTime( \PhingFile $f ) : int`
inherited

Return the time at which the file or directory denoted by the given abstract pathname was last modified, or zero if it does not exist or some other I/O error occurs.

Inherited from: \FileSystem::getLastModifiedTime()
Parameters

Name | Type | Description
--- | --- | ---
$f | \PhingFile |

Returns

Type | Description
--- | ---
int |

Throws

Exception | Description
--- | ---
\IOException |

`getLength( \PhingFile $f ) : int`
inherited

Return the length in bytes of the file denoted by the given abstract pathname, or zero if it does not exist, is a directory, or some other I/O error occurs.

Inherited from: \FileSystem::getLength()
Parameters

Name | Type | Description
--- | --- | ---
$f | \PhingFile |

Returns

Type | Description
--- | ---
int |

Throws

Exception | Description
--- | ---
\IOException |

`getPathSeparator( ) : void`
inherited

Return the local filesystem's path-separator character.

Inherited from: \Win32FileSystem::getPathSeparator()
`getSeparator( ) : void`
inherited

Return the local filesystem's name-separator character.

Inherited from: \Win32FileSystem::getSeparator()
`isAbsolute( \PhingFile $f ) : void`
inherited

Tell whether or not the given abstract pathname is absolute.

Inherited from: \Win32FileSystem::isAbsolute()
Parameters

Name | Type | Description
--- | --- | ---
$f | \PhingFile |

`isLetter( $c ) : void`
inherited

Inherited from: \Win32FileSystem::isLetter()
Parameters

Name | Type | Description
--- | --- | ---
$c |  |

`isSlash( $c ) : void`
inherited

Inherited from: \Win32FileSystem::isSlash()
Parameters

Name | Type | Description
--- | --- | ---
$c |  |

`listDir( \PhingFile $f ) : void`
inherited

List the elements of the directory denoted by the given abstract pathname. Return an array of strings naming the elements of the directory if successful; otherwise, return `null`.

Inherited from: \FileSystem::listDir()
Parameters

Name | Type | Description
--- | --- | ---
$f | \PhingFile |

`listRoots( ) : void`
inherited

List the available filesystem roots, return array of PhingFile objects

Inherited from: \Win32FileSystem::listRoots()
Throws

Exception | Description
--- | ---
\IOException |

`lister( $f ) : void`
inherited

returns the contents of a directory in an array

Inherited from: \Win32FileSystem::lister()
Parameters

Name | Type | Description
--- | --- | ---
$f |  |

`lock( \PhingFile $f ) : void`
inherited

Locks a file and throws an Exception if this is not possible.

Inherited from: \FileSystem::lock()
Parameters

Name | Type | Description
--- | --- | ---
$f | \PhingFile |

Throws

Exception | Description
--- | ---
\Exception |

`normalize( string $strPath ) : string`
inherited

Check that the given pathname is normal. If not, invoke the real normalizer on the part of the pathname that requires normalization.

Inherited from: \Win32FileSystem::normalize()

This way we iterate through the whole pathname string only once.

Parameters

Name | Type | Description
--- | --- | ---
$strPath | string |

Returns

Type | Description
--- | ---
string |

`normalizePrefix( $strPath, $len, $sb ) : void`
inherited

A normal Win32 pathname contains no duplicate slashes, except possibly for a UNC prefix, and does not end with a slash. It may be the empty string. Normalized Win32 pathnames have the convenient property that the length of the prefix almost uniquely identifies the type of the path and whether it is absolute or relative:

Inherited from: \Win32FileSystem::normalizePrefix()

0 relative to both drive and directory 1 drive-relative (begins with '\') 2 absolute UNC (if first char is '\'), else directory-relative (has form "z:foo") 3 absolute local pathname (begins with "z:\")

Parameters

Name | Type | Description
--- | --- | ---
$strPath |  |
$len |  |
$sb |  |

`normalizer( $strPath, $len, $offset ) : void`
inherited

Normalize the given pathname, whose length is len, starting at the given offset; everything before this offset is already normal.

Inherited from: \Win32FileSystem::normalizer()
Parameters

Name | Type | Description
--- | --- | ---
$strPath |  |
$len |  |
$offset |  |

`prefixLength( $strPath ) : void`
inherited

Compute the length of this pathname string's prefix. The pathname string must be in normal form.

Inherited from: \Win32FileSystem::prefixLength()
Parameters

Name | Type | Description
--- | --- | ---
$strPath |  |

`rename( \PhingFile $f1, \PhingFile $f2 ) : void`
inherited

Rename the file or directory denoted by the first abstract pathname to the second abstract pathname, returning true if and only if the operation succeeds.

Inherited from: \FileSystem::rename()
Parameters

Name | Type | Description
--- | --- | ---
$f1 | \PhingFile | abstract source file
$f2 | \PhingFile | abstract destination file

Throws

Exception | Description
--- | ---
\IOException | if rename cannot be performed

`resolve( string $parent, string $child ) : void`
inherited

Resolve the child pathname string against the parent.

Inherited from: \Win32FileSystem::resolve()

Both strings must be in normal form, and the result will be a string in normal form.

Parameters

Name | Type | Description
--- | --- | ---
$parent | string |
$child | string |

`resolveFile( \PhingFile $f ) : void`
inherited

Resolve the given abstract pathname into absolute form. Invoked by the getAbsolutePath and getCanonicalPath methods in the PhingFile class.

Inherited from: \Win32FileSystem::resolveFile()
Parameters

Name | Type | Description
--- | --- | ---
$f | \PhingFile |

`rmdir( \dir $dir, \children $children = false ) : void`
inherited

Delete an empty directory OR a directory and all of its contents.

Inherited from: \FileSystem::rmdir()
Parameters

Name | Type | Description
--- | --- | ---
$dir | \dir | String. Path and/or name of directory to delete.
$children | \children | Boolean. False: don't delete directory contents. True: delete directory contents.

`setLastModifiedTime( \PhingFile $f, int $time ) : void`
inherited

Set the last-modified time of the file or directory denoted by the given abstract pathname returning true if and only if the operation succeeds.

Inherited from: \FileSystem::setLastModifiedTime()
Parameters

Name | Type | Description
--- | --- | ---
$f | \PhingFile |
$time | int |

Throws

Exception | Description
--- | ---
\IOException |

`setReadOnly( \PhingFile $f ) : void`
inherited

Mark the file or directory denoted by the given abstract pathname as read-only, returning `true` if and only if the operation succeeds.

Inherited from: \Win32FileSystem::setReadOnly()
Parameters

Name | Type | Description
--- | --- | ---
$f | \PhingFile |

Throws

Exception | Description
--- | ---
\IOException |

`slashify( $p ) : void`
inherited

Inherited from: \Win32FileSystem::slashify()
Parameters

Name | Type | Description
--- | --- | ---
$p |  |

`symlink( string $target, string $link ) : void`
inherited

Symbolically link a file to another name.

Inherited from: \FileSystem::symlink()

Currently symlink is not implemented on Windows. Don't use if the application is to be portable.

Parameters

Name | Type | Description
--- | --- | ---
$target | string | Path and/or name of file to link.
$link | string | Path and/or name of link to be created.

`touch( string $file, int $time = null ) : void`
inherited

Set the modification and access time on a file to the present time.

Inherited from: \FileSystem::touch()
Parameters

Name | Type | Description
--- | --- | ---
$file | string | Path and/or name of file to touch.
$time | int |

`umask( \mode $mode ) : void`
inherited

Set the umask for file and directory creation.

Inherited from: \FileSystem::umask()
Parameters

Name | Type | Description
--- | --- | ---
$mode | \mode | Int. Permissions ususally in ocatal. Use leading 0 for octal. Number between 0 and 0777.

Throws

Exception | Description
--- | ---
\Exception | if there is an error performing operation.

`unlink( string $file ) : void`
inherited

Delete a file.

Inherited from: \FileSystem::unlink()
Parameters

Name | Type | Description
--- | --- | ---
$file | string | Path and/or name of file to delete.

Throws

Exception | Description
--- | ---
\IOException | - if an error is encountered.

`unlock( \PhingFile $f ) : void`
inherited

Unlocks a file and throws an IO Error if this is not possible.

Inherited from: \FileSystem::unlock()
Parameters

Name | Type | Description
--- | --- | ---
$f | \PhingFile |

Throws

Exception | Description
--- | ---
\IOException |

Documentation was generated by DocBlox 0.15.1.