# classes/phing/system/io/Win32FileSystem.php

package
  phing.system.io

## \Win32FileSystem
jump to top

This is an abstract class for platform specific filesystem implementations you have to implement each method in the platform specific filesystem implementation classes Your local filesytem implementation must extend this class.

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

Extends from
  \FileSystem
author
  Charlie Killian
author
  Hans Lellelid
package
  phing.system.io
version
  $Revision: 1260 $

### Properties

`$altSlash= ''`
Details

Type

`$driveDirCache= 'array'`
static
Default value `array` Details

Type

`$semicolon= ''`
Details

Type

`$slash= ''`
Details

Type

### Methods

`__construct( ) :`
`_access( $path ) :`
Parameters

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

`_driveIndex( $d ) :`
private
Parameters

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

`_getDrive( $path ) :`
Parameters

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

`_getDriveDirectory( $drive ) :`
private
Parameters

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

`_getUserPath( ) :`
`_nativeListRoots( ) :`
`compare( $f1, $f2 ) :`
compares file paths lexicographically
Parameters

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

`fromURIPath( $strPath ) :`
Parameters

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

`getDefaultParent( ) :`
`getPathSeparator( ) :`
`getSeparator( ) :`
`isAbsolute( $f ) :`
Parameters

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

`isLetter( $c ) :`
Parameters

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

`isSlash( $c ) :`
Parameters

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

`listRoots( ) :`
`lister( $f ) :`
returns the contents of a directory in an array
Parameters

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

`normalize( string $strPath ) : string`
Check that the given pathname is normal. If not, invoke the real normalizer on the part of the pathname that requires normalization.

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 ) :`
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:

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 ) :`
Normalize the given pathname, whose length is len, starting at the given offset; everything before this offset is already normal.
Parameters

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

`prefixLength( $strPath ) :`
Parameters

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

`resolve( $parent, $child ) :`
Parameters

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

`resolveFile( $f ) :`
Parameters

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

`setReadOnly( $f ) :`
Parameters

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

`slashify( $p ) :`
Parameters

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

Documentation was generated by DocBlox 0.13.1.