Arquivos
hhvm/hphp/system/php/spl/file_handling/SplFileInfo.php
T
Drew Paroski e6b6aa0b09 Clean up the hphp/system folder
I noticed that directorty structure of hphp/system was a bit scattered, so
I consolidated things to reduce the total number of folders and to put
related things together with each other.

This diff moves the contents of "hphp/system/classes_hhvm" into
"hphp/system", it moves the contents of "hphp/system/lib" into
"hphp/system", moves "hphp/idl" to "hphp/system/idl", and moves the
contents of "hphp/system/globals" into "hphp/system/idl".
2013-06-15 23:29:49 -07:00

433 linhas
13 KiB
PHP

<?php
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/class.splfileinfo.php )
*
* The SplFileInfo class offers a high-level object oriented interface to
* information for an individual file.
*
*/
class SplFileInfo {
private $fileName;
private $fileClass = "SplFileObject";
private $infoClass;
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/splfileinfo.construct.php )
*
* Creates a new SplFileInfo object for the file_name specified. The file
* does not need to exist, or be readable.
*
* @file_name mixed Path to the file.
*/
public function __construct($file_name) {
$this->setPathname($file_name);
}
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/splfileinfo.getpath.php )
*
* Returns the path to the file, omitting the filename and any trailing
* slash.
*
* @return mixed Returns the path to the file.
*/
public function getPath() {
return dirname($this->getPathname());
}
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/splfileinfo.getfilename.php )
*
* Gets the filename without any path information.
*
* @return mixed The filename.
*/
public function getFilename() {
return $this->getBasename();
}
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/splfileinfo.getfileinfo.php )
*
* This method gets an SplFileInfo object for the referenced file.
*
* @class_name mixed Name of an SplFileInfo derived class to use.
*
* @return mixed An SplFileInfo object created for the file.
*/
public function getFileInfo($class_name = null) {
if (!$class_name) {
$class_name = $this->fileClass;
}
return new $class_name($this->getPathname());
}
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/splfileinfo.getbasename.php )
*
* This method returns the base name of the file, directory, or link
* without path info.
*
* @suffix mixed Optional suffix to omit from the base name returned.
*
* @return mixed Returns the base name without path information.
*/
public function getBasename($suffix = "") {
return basename($this->getPathname(), $suffix);
}
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/splfileinfo.getpathname.php )
*
* Returns the path to the file.
*
* @return mixed The path to the file.
*/
public function getPathname() {
return $this->fileName;
}
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/splfileinfo.getpathinfo.php )
*
* Gets an SplFileInfo object for the parent of the current file.
*
* @class_name mixed Name of an SplFileInfo derived class to use.
*
* @return mixed Returns an SplFileInfo object for the parent path of
* the file.
*/
public function getPathInfo($class_name = null) {
if (!$class_name) {
$class_name = $this->fileClass;
}
return new $class_name($this->getPath());
}
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/splfileinfo.getperms.php )
*
* Gets the file permissions for the file.
*
* @return mixed Returns the file permissions.
*/
public function getPerms() {
return fileperms($this->getPathname());
}
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/splfileinfo.getinode.php )
*
* Gets the inode number for the filesystem object.
*
* @return mixed Returns the inode number for the filesystem object.
*/
public function getInode() {
return fileinode($this->getPathname());
}
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/splfileinfo.getsize.php )
*
* Returns the filesize in bytes for the file referenced.
*
* @return mixed The filesize in bytes.
*/
public function getSize() {
return filesize($this->getPathname());
}
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/splfileinfo.getowner.php )
*
* Gets the file owner. The owner ID is returned in numerical format.
*
* @return mixed The owner id in numerical format.
*/
public function getOwner() {
return fileowner($this->getPathname());
}
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/splfileinfo.getgroup.php )
*
* Gets the file group. The group ID is returned in numerical format.
*
* @return mixed The group id in numerical format.
*/
public function getGroup() {
return filegroup($this->getPathname());
}
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/splfileinfo.getatime.php )
*
* Gets the last access time for the file.
*
* @return mixed Returns the time the file was last accessed.
*/
public function getATime() {
return fileatime($this->getPathname());
}
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/splfileinfo.getmtime.php )
*
* Returns the time when the contents of the file were changed. The time
* returned is a Unix timestamp.
*
* @return mixed Returns the last modified time for the file, in a
* Unix timestamp.
*/
public function getMTime() {
return filemtime($this->getPathname());
}
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/splfileinfo.getctime.php )
*
* Returns the inode change time for the file. The time returned is a Unix
* timestamp.
*
* @return mixed The last change time, in a Unix timestamp.
*/
public function getCTime() {
return filectime($this->getPathname());
}
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/splfileinfo.gettype.php )
*
* Returns the type of the file referenced.
*
* @return mixed A string representing the type of the entry. May be
* one of file, link, or dir
*/
public function getType() {
return filetype($this->getPathname());
}
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/splfileinfo.getextension.php )
*
* Retrieves the file extension.
*
* @return mixed Returns a string containing the file extension, or
* an empty string if the file has no extension.
*/
public function getExtension() {
return pathinfo($this->getPathname(), PATHINFO_EXTENSION);
}
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/splfileinfo.iswritable.php )
*
* Checks if the current entry is writable.
*
* @return mixed Returns TRUE if writable, FALSE otherwise;
*/
public function isWritable() {
return is_writable($this->getPathname());
}
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/splfileinfo.isreadable.php )
*
* Check if the file is readable.
*
* @return mixed Returns TRUE if readable, FALSE otherwise.
*/
public function isReadable() {
return is_readable($this->getPathname());
}
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/splfileinfo.isexecutable.php )
*
* Checks if the file is executable.
*
* @return mixed Returns TRUE if executable, FALSE otherwise.
*/
public function isExecutable() {
return is_executable($this->getPathname());
}
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/splfileinfo.isfile.php )
*
* Checks if the file referenced by this SplFileInfo object exists and is
* a regular file.
*
* @return mixed Returns TRUE if the file exists and is a regular
* file (not a link), FALSE otherwise.
*/
public function isFile() {
return is_file($this->getPathname());
}
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/splfileinfo.isdir.php )
*
* This method can be used to determine if the file is a directory.
*
* @return mixed Returns TRUE if a directory, FALSE otherwise.
*/
public function isDir() {
return is_dir($this->getPathname());
}
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/splfileinfo.islink.php )
*
* Use this method to check if the file referenced by the SplFileInfo
* object is a link.
*
* @return mixed Returns TRUE if the file is a link, FALSE otherwise.
*/
public function isLink() {
return is_link($this->getPathname());
}
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/splfileinfo.getlinktarget.php )
*
* Gets the target of a filesystem link.
*
* The target may not be the real path on the filesystem. Use
* SplFileInfo::getRealPath() to determine the true path on the filesystem.
*
* @return mixed Returns the target of the filesystem link.
*/
public function getLinkTarget() {
$link = @readlink($this->getPathname());
if ($link === false) {
throw new Exception(
'Unable to read link '.$this->getPathname()
);
}
return $link;
}
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/splfileinfo.getrealpath.php )
*
* This method expands all symbolic links, resolves relative references
* and returns the real path to the file.
*
* @return mixed Returns the path to the file.
*/
public function getRealPath() {
return realpath($this->getPathname());
}
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/splfileinfo.tostring.php )
*
* This method will return the file name of the referenced file.
*
* @return mixed Returns the path to the file.
*/
public function __toString() {
return $this->getPathname();
}
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/splfileinfo.openfile.php )
*
* Creates an SplFileObject object of the file. This is useful because
* SplFileObject contains additional methods for manipulating the file
* whereas SplFileInfo is only useful for gaining information, like whether
* the file is writable.
*
* @mode mixed The mode for opening the file. See the fopen()
* documentation for descriptions of possible modes.
* The default is read only.
* @use_include_path
* mixed When set to TRUE, the filename is also searched for
* within the include_path
* @context mixed Refer to the context section of the manual for a
* description of contexts.
*
* @return mixed The opened file as an SplFileObject object.
*/
public function openFile($mode = 'r', $use_include_path = false,
$context = null) {
$class_name = $this->fileClass;
return new $class_name(
$this->getPathname(),
$mode,
$use_include_path,
$context
);
}
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/splfileinfo.setfileclass.php )
*
* Set the class name which SplFileInfo will use to open files with when
* openFile() is called. The class name passed to this method must be
* derived from SplFileObject.
*
* @class_name mixed The class name to use when openFile() is called.
*
* @return mixed No value is returned.
*/
public function setFileClass($class_name = "SplFileObject") {
$this->fileClass = $class_name;
}
// This doc comment block generated by idl/sysdoc.php
/**
* ( excerpt from http://php.net/manual/en/splfileinfo.setinfoclass.php )
*
* Use this method to set a custom class which will be used when
* getFileInfo and getPathInfo are called. The class name passed to this
* method must be derived from SplFileInfo.
*
* @class_name mixed The class name to use.
*
* @return mixed No value is returned.
*/
public function setInfoClass($class_name = "SplFileInfo") {
$this->infoClass = $class_name;
}
protected function setPathname($file_name) {
if ($file_name !== false) {
$file_name = rtrim($file_name, '/');
}
$this->fileName = $file_name;
}
}