An abstract representation of file and directory pathnames.
version | $Id$ |
---|---|
package | phing.system.io |
__construct($arg1, $arg2)
__toString() : string
string
canRead() : boolean
boolean
true if and only if the file specified by this
abstract pathname exists and can be read by the
application; false otherwisecanWrite() : boolean
boolean
true if and only if the file system actually
contains a file denoted by this abstract pathname and
the application is allowed to write to the file;
false otherwise.compareTo(\PhingFile $file) : int
The ordering defined by this method depends upon the underlying system. On UNIX systems, alphabetic case is significant in comparing pathnames; on Win32 systems it is not.
int
Zero if the argument is equal to this abstract pathname, a
value less than zero if this abstract pathname is
lexicographically less than the argument, or a value greater
than zero if this abstract pathname is lexicographically
greater than the argumentcontents() : string
This method uses file_get_contents() to read file in an optimized way.
\Exception |
- if file cannot be read |
---|
string
copyTo(\PhingFile $destFile) : boolean
boolean
true if and only if the renaming succeeded; false otherwisecreateNewFile($parents, $mode) : boolean
The check for the existence of the file and the creation of the file if it does not exist are a single operation that is atomic with respect to all other filesystem activities that might affect the file.
\IOException |
if file can't be created |
---|
boolean
true if the named file does not exist and was
successfully created; false
if the named file
already existscreateTempFile($prefix, $suffix, \PhingFile $directory) : \PhingFile
$directory is a reference to a PhingFile Object. Then, the file is locked for exclusive reading/writing.
author | manuel holtgrewe, grin@gmx.net |
---|
\IOException |
---|
delete($recursive) : boolean
If this pathname denotes a directory, then the directory must be empty in order to be deleted.
boolean
true if and only if the file or directory is
successfully deleted; false otherwisedeleteOnExit()
Deletion will be attempted only for normal termination of php and if and if only Phing::shutdown() is called.
Once deletion has been requested, it is not possible to cancel the request. This method should therefore be used with care.
equals($obj) : boolean
Returns
true
if and only if the argument is not
null
and is an abstract pathname that denotes the same file or directory as this abstract pathname. Whether or not two abstract pathnames are equal depends upon the underlying system. On UNIX systems, alphabetic case is significant in comparing pathnames; on Win32 systems it is not.
boolean
exists() : boolean
boolean
true if and only if the file denoted by this
abstract pathname exists; false otherwisegetAbsoluteFile() : string
Equivalent to getAbsolutePath.
string
The absolute abstract pathname denoting the same file or
directory as this abstract pathnamegetAbsolutePath() : string
If this abstract pathname is already absolute, then the pathname string is simply returned as if by the getPath method. If this abstract pathname is the empty abstract pathname then the pathname string of the current user directory, which is named by the system property user.dir, is returned. Otherwise this pathname is resolved in a system-dependent way. On UNIX systems, a relative pathname is made absolute by resolving it against the current user directory. On Win32 systems, a relative pathname is made absolute by resolving it against the current directory of the drive named by the pathname, if any; if not, it is resolved against the current user directory.
see | \global\#isAbsolute() |
---|
string
The absolute pathname string denoting the same file or
directory as this abstract pathnamegetCanonicalFile() : \PhingFile
Equivalent to getCanonicalPath(.
\PhingFile
The canonical pathname string denoting the same file or
directory as this abstract pathnamegetCanonicalPath() : string
A canonical pathname is both absolute and unique. The precise definition of canonical form is system-dependent. This method first converts this pathname to absolute form if necessary, as if by invoking the getAbsolutePath() method, and then maps it to its unique form in a system-dependent way. This typically involves removing redundant names such as "." and .. from the pathname, resolving symbolic links (on UNIX platforms), and converting drive letters to a standard case (on Win32 platforms).
Every pathname that denotes an existing file or directory has a unique canonical form. Every pathname that denotes a nonexistent file or directory also has a unique canonical form. The canonical form of the pathname of a nonexistent file or directory may be different from the canonical form of the same pathname after the file or directory is created. Similarly, the canonical form of the pathname of an existing file or directory may be different from the canonical form of the same pathname after the file or directory is deleted.
string
The canonical pathname string denoting the same file or
directory as this abstract pathnamegetGroup() : int
int
User ID of the owner of this file.getLinkTarget() : string
string
the target of the symbolic link denoted by this abstract pathnamegetMode() : int
int
getName() : \The
This is just the last name in the pathname's name sequence. If the pathname's name sequence is empty, then the empty string is returned.
\The
name of the file or directory denoted by this abstract
pathname, or the empty string if this pathname's name sequence
is emptygetParent() : \The
The parent of an abstract pathname consists of the pathname's prefix, if any, and each name in the pathname's name sequence except for the last. If the name sequence is empty then the pathname does not name a parent directory.
\The
pathname string of the parent directory named by this
abstract pathname, or null if this pathname does not name a parentgetParentFile() : \The
The parent of an abstract pathname consists of the pathname's prefix, if any, and each name in the pathname's name sequence except for the last. If the name sequence is empty then the pathname does not name a parent directory.
\The
abstract pathname of the parent directory named by this
abstract pathname, or null if this pathname
does not name a parentgetPath() : string
The resulting string uses the default name-separator character to separate the names in the name sequence.
string
The string form of this abstract pathnamegetPathWithoutBase(string $basedir) : string
uses | \global\getPath() |
---|
string
Base directory to strip
string
Path without basedirgetPrefixLength() : int
int
getTempDir() : string
string
getUser() : int
int
User ID of the owner of this file.isAbsolute() : boolean
The definition of absolute pathname is system dependent. On UNIX systems, a pathname is absolute if its prefix is "/". On Win32 systems, a pathname is absolute if its prefix is a drive specifier followed by "\", or if its prefix is "\".
boolean
true if this abstract pathname is absolute, false otherwiseisDirectory() : boolean
boolean
true if and only if the file denoted by this
abstract pathname exists and is a directory;
false otherwiseisFile() : boolean
A file is normal if it is not a directory and, in addition, satisfies other system-dependent criteria. Any non-directory file created by a Java application is guaranteed to be a normal file.
boolean
true if and only if the file denoted by this
abstract pathname exists and is a normal file;
false otherwiseisHidden() : boolean
The exact definition of hidden is system-dependent. On UNIX systems, a file is considered to be hidden if its name begins with a period character ('.'). On Win32 systems, a file is considered to be hidden if it has been marked as such in the filesystem. Currently there seems to be no way to dermine isHidden on Win file systems via PHP
boolean
true if and only if the file denoted by this
abstract pathname is hidden according to the conventions of the
underlying platformisLink() : boolean
boolean
true if and only if the file denoted by this
abstract pathname exists and is a symbolic link;
false otherwiselastModified() : int
int
An integer value representing the time the file was
last modified, measured in milliseconds since the epoch
(00:00:00 GMT, January 1, 1970), or 0 if the
file does not exist or if an I/O error occurslength() : int
The return value is unspecified if this pathname denotes a directory.
int
The length, in bytes, of the file denoted by this abstract
pathname, or 0 if the file does not existlistDir($filter) : array
If this abstract pathname does not denote a directory, then this method returns null Otherwise an array of strings is returned, one for each file or directory in the directory. Names denoting the directory itself and the directory's parent directory are not included in the result. Each string is a file name rather than a complete path.
There is no guarantee that the name strings in the resulting array will appear in any specific order; they are not, in particular, guaranteed to appear in alphabetical order.
string
array
An array of strings naming the files and directories in the
directory denoted by this abstract pathname. The array will be
empty if the directory is empty. Returns null if
this abstract pathname does not denote a directory, or if an
I/O error occurs.listRoots() : array
A particular platform may support zero or more hierarchically-organized file systems. Each file system has a root directory from which all other files in that file system can be reached. Windows platforms, for example, have a root directory for each active drive; UNIX platforms have a single root directory, namely "/". The set of available filesystem roots is affected by various system-level operations such the insertion or ejection of removable media and the disconnecting or unmounting of physical or virtual disk drives.
This method returns an array of PhingFile objects that denote the root directories of the available filesystem roots. It is guaranteed that the canonical pathname of any file physically present on the local machine will begin with one of the roots returned by this method.
The canonical pathname of a file that resides on some other machine and is accessed via a remote-filesystem protocol such as SMB or NFS may or may not begin with one of the roots returned by this method. If the pathname of a remote file is syntactically indistinguishable from the pathname of a local file then it will begin with one of the roots returned by this method. Thus, for example, PhingFile objects denoting the root directories of the mapped network drives of a Windows platform will be returned by this method, while PhingFile objects containing UNC pathnames will not be returned by this method.
array
An array of PhingFile objects denoting the available
filesystem roots, or null if the set of roots
could not be determined. The array will be empty if there are
no filesystem roots.mkdir($mode) : boolean
\IOException |
---|
boolean
true if and only if the directory was created; false otherwisemkdirs($mode) : boolean
Note that if this operation fails it may have succeeded in creating some of the necessary parent directories.
\IOException |
---|
boolean
true if and only if the directory was created,
along with all necessary parent directories; false
otherwiseremoveTempFile()
access | public |
---|
renameTo(\PhingFile $destFile) : boolean
boolean
true if and only if the renaming succeeded; false otherwisesetGroup($group)
setLastModified(int $time) : boolean
All platforms support file-modification times to the nearest second, but some provide more precision. The argument will be truncated to fit the supported precision. If the operation succeeds and no intervening operations on the file take place, then the next invocation of the lastModified method will return the (possibly truncated) time argument that was passed to this method.
int
The new last-modified time, measured in milliseconds since the epoch (00:00:00 GMT, January 1, 1970)
boolean
true if and only if the operation succeeded; false otherwisesetMode(int $mode)
int
Ocatal mode.
setReadOnly() : boolean
After invoking this method the file or directory is guaranteed not to change until it is either deleted or marked to allow write access. Whether or not a read-only file or directory may be deleted depends upon the underlying system.
boolean
true if and only if the operation succeeded; false otherwisesetUser(mixed $user)
mixed
User name or number.
toString() : string
string
toURI() : void
todo | Not implemented yet |
---|
toURL() : void
The exact form of the URL is system-dependent. If it can be determined that the file denoted by this abstract pathname is a directory, then the resulting URL will end with a slash.
Usage note: This method does not automatically escape characters that are illegal in URLs. It is recommended that new code convert an abstract pathname into a URL by first converting it into a URI, via the toURI() method, and then converting the URI into a URL via the URI::toURL()
todo | Not implemented yet |
---|
_constructFileParentStringChild(\unknown_type $parent, \unknown_type $child)
..
\unknown_type
\unknown_type
_constructPathname(\unknown_type $pathname)
..
\unknown_type
_constructStringParentStringChild(\unknown_type $parent, \unknown_type $child)
..
\unknown_type
\unknown_type
$pathSeparator
$separator
$path
A normalized pathname string uses the default name-separator character and does not contain any duplicate or redundant separators.
$prefixLength : int