Documentation

File extends Generic
in package
implements Bufferable, Lockable, Pointable

AbstractYes

Class \Hoa\File.

File handler.

Tags
copyright

Copyright © 2007-2017 Hoa community

license

New BSD License

Table of Contents

Interfaces

Bufferable
Interface \Hoa\Stream\IStream\Bufferable.
Lockable
Interface \Hoa\Stream\IStream\Lockable.
Pointable
Interface \Hoa\Stream\IStream\Pointable.

Constants

MODE_APPEND_READ_WRITE  = 'a+b'
Open for reading and writing; place the file pointer at the end of the file. If the file does not exist, attempt to create it.
MODE_APPEND_WRITE  = 'ab'
Open for writing only; place the file pointer at the end of the file. If the file does not exist, attempt to create it.
MODE_CREATE_READ_WRITE  = 'x+b'
Create and open for reading and writing; place the file pointer at the beginning of the file. If the file already exists, the fopen() call with fail by returning false and generating an error of level E_WARNING. If the file does not exist, attempt to create it. This is equivalent to specifying O_EXCL | O_CREAT flags for the underlying open(2) system call.
MODE_CREATE_WRITE  = 'xb'
Create and open for writing only; place the file pointer at the beginning of the file. If the file already exits, the fopen() call with fail by returning false and generating an error of level E_WARNING. If the file does not exist, attempt to create it. This is equivalent to specifying O_EXCL | O_CREAT flags for the underlying open(2) system call.
MODE_READ  = 'rb'
Open for reading only; place the file pointer at the beginning of the file.
MODE_READ_WRITE  = 'r+b'
Open for reading and writing; place the file pointer at the beginning of the file.
MODE_TRUNCATE_READ_WRITE  = 'w+b'
Open for reading and writing; place the file pointer at the beginning of the file and truncate the file to zero length. If the file does not exist, attempt to create it.
MODE_TRUNCATE_WRITE  = 'wb'
Open for writing only; place the file pointer at the beginning of the file and truncate the file to zero length. If the file does not exist, attempt to create it.

Properties

$_mode  : string
Mode.

Methods

__construct()  : mixed
Open a file.
changeGroup()  : bool
Change file group.
changeMode()  : bool
Change file mode.
changeOwner()  : bool
Change file owner.
clearAllStatisticCaches()  : void
Clear all files status cache.
clearStatisticCache()  : void
Clear file status cache.
copy()  : bool
Copy file.
create()  : bool
Create a file.
delete()  : bool
Delete a file.
deleteBuffer()  : bool
Delete buffer.
flush()  : bool
Flush the output to a stream.
getATime()  : int
Get last access time of file.
getBasename()  : string
Get filename component of path.
getBufferLevel()  : int
Get bufffer level.
getBufferSize()  : int
Get buffer size.
getCTime()  : int
Get inode change time of file.
getDirname()  : string
Get directory name component of path.
getExtension()  : string
Get file extension (if exists).
getFilename()  : string
Get filename without extension.
getGroup()  : int
Get file group.
getINode()  : int
Get inode.
getMode()  : string
Get the open mode.
getMTime()  : int
Get file modification time.
getOwner()  : int
Get file owner.
getPermissions()  : int
Get file permissions.
getReadablePermissions()  : string
Get file permissions as a string.
getRealPath()  : string
Get a canonicalized absolute pathname.
getSize()  : int
Get size.
getStatistic()  : array<string|int, mixed>
Get informations about a file.
isBlockSpecial()  : bool
Check if it is block special.
isCaseSensitive()  : bool
Check if the system is case sensitive or not.
isCharacterSpecial()  : bool
Check if it is character special file.
isDirectory()  : bool
Check if it is a directory.
isExecutable()  : bool
Check if the file is executable.
isFIFOPipe()  : bool
Check if it is a FIFO pipe.
isFile()  : bool
Check if it is a file.
isLink()  : bool
Check if it is a link.
isReadable()  : bool
Check if the file is readable.
isSocket()  : bool
Check if it is a socket.
isUnknown()  : bool
Check if it is an unknown type.
isWritable()  : bool
Check if the file is writable.
lock()  : bool
Portable advisory locking.
move()  : bool
Move a file.
newBuffer()  : int
Start a new buffer.
rewind()  : bool
Rewind the position of a stream pointer.
seek()  : int
Seek on a stream pointer.
tell()  : int
Get the current position of the stream pointer.
touch()  : bool
Set access and modification time of file.
umask()  : int
Change the current umask.
_close()  : bool
Close the current stream.
_open()  : resource
Open the stream and return the associated resource.
setMode()  : string
Set the open mode.

Constants

MODE_APPEND_READ_WRITE

Open for reading and writing; place the file pointer at the end of the file. If the file does not exist, attempt to create it.

public mixed MODE_APPEND_READ_WRITE = 'a+b'
Tags
const

string

MODE_APPEND_WRITE

Open for writing only; place the file pointer at the end of the file. If the file does not exist, attempt to create it.

public mixed MODE_APPEND_WRITE = 'ab'
Tags
const

string

MODE_CREATE_READ_WRITE

Create and open for reading and writing; place the file pointer at the beginning of the file. If the file already exists, the fopen() call with fail by returning false and generating an error of level E_WARNING. If the file does not exist, attempt to create it. This is equivalent to specifying O_EXCL | O_CREAT flags for the underlying open(2) system call.

public mixed MODE_CREATE_READ_WRITE = 'x+b'
Tags
const

string

MODE_CREATE_WRITE

Create and open for writing only; place the file pointer at the beginning of the file. If the file already exits, the fopen() call with fail by returning false and generating an error of level E_WARNING. If the file does not exist, attempt to create it. This is equivalent to specifying O_EXCL | O_CREAT flags for the underlying open(2) system call.

public mixed MODE_CREATE_WRITE = 'xb'
Tags
const

string

MODE_READ

Open for reading only; place the file pointer at the beginning of the file.

public mixed MODE_READ = 'rb'
Tags
const

string

MODE_READ_WRITE

Open for reading and writing; place the file pointer at the beginning of the file.

public mixed MODE_READ_WRITE = 'r+b'
Tags
const

string

MODE_TRUNCATE_READ_WRITE

Open for reading and writing; place the file pointer at the beginning of the file and truncate the file to zero length. If the file does not exist, attempt to create it.

public mixed MODE_TRUNCATE_READ_WRITE = 'w+b'
Tags
const

string

MODE_TRUNCATE_WRITE

Open for writing only; place the file pointer at the beginning of the file and truncate the file to zero length. If the file does not exist, attempt to create it.

public mixed MODE_TRUNCATE_WRITE = 'wb'
Tags
const

string

Properties

$_mode

Mode.

protected string $_mode = null

Methods

__construct()

Open a file.

public __construct(string $streamName, string $mode[, string $context = null ][, bool $wait = false ]) : mixed
Parameters
$streamName : string

Stream name (or file descriptor).

$mode : string

Open mode, see the self::MODE_* constants.

$context : string = null

Context ID (please, see the \Hoa\Stream\Context class).

$wait : bool = false

Differ opening or not.

Tags
throws
Exception

changeGroup()

Change file group.

public changeGroup(mixed $group) : bool
Parameters
$group : mixed

Group name or number.

Return values
bool

changeMode()

Change file mode.

public changeMode(int $mode) : bool
Parameters
$mode : int

Mode (in octal!).

Return values
bool

changeOwner()

Change file owner.

public changeOwner(mixed $user) : bool
Parameters
$user : mixed

User.

Return values
bool

clearAllStatisticCaches()

Clear all files status cache.

public static clearAllStatisticCaches() : void

clearStatisticCache()

Clear file status cache.

public clearStatisticCache() : void

copy()

Copy file.

public copy(string $to[, bool $force = StreamIStreamTouchable::DO_NOT_OVERWRITE ]) : bool

Return the destination file path if succeed, false otherwise.

Parameters
$to : string

Destination path.

$force : bool = StreamIStreamTouchable::DO_NOT_OVERWRITE

Force to copy if the file $to already exists. Use the \Hoa\Stream\IStream\Touchable::*OVERWRITE constants.

Return values
bool

create()

Create a file.

public static create(string $name, mixed $dummy) : bool
Parameters
$name : string

File name.

$dummy : mixed

To be compatible with childs.

Return values
bool

delete()

Delete a file.

public delete() : bool
Return values
bool

deleteBuffer()

Delete buffer.

public deleteBuffer() : bool
Return values
bool

flush()

Flush the output to a stream.

public flush() : bool
Return values
bool

getATime()

Get last access time of file.

public getATime() : int
Return values
int

getBasename()

Get filename component of path.

public getBasename() : string
Return values
string

getBufferLevel()

Get bufffer level.

public getBufferLevel() : int
Return values
int

getBufferSize()

Get buffer size.

public getBufferSize() : int
Return values
int

getCTime()

Get inode change time of file.

public getCTime() : int
Return values
int

getDirname()

Get directory name component of path.

public getDirname() : string
Return values
string

getExtension()

Get file extension (if exists).

public getExtension() : string
Return values
string

getFilename()

Get filename without extension.

public getFilename() : string
Return values
string

getGroup()

Get file group.

public getGroup() : int
Return values
int

getINode()

Get inode.

public getINode() : int
Return values
int

getMode()

Get the open mode.

public getMode() : string
Return values
string

getMTime()

Get file modification time.

public getMTime() : int
Return values
int

getOwner()

Get file owner.

public getOwner() : int
Return values
int

getPermissions()

Get file permissions.

public getPermissions() : int
Return values
int

getReadablePermissions()

Get file permissions as a string.

public getReadablePermissions() : string

Result sould be interpreted like this:

  • s: socket;
  • l: symbolic link;
  • -: regular;
  • b: block special;
  • d: directory;
  • c: character special;
  • p: FIFO pipe;
  • u: unknown.
Return values
string

getRealPath()

Get a canonicalized absolute pathname.

public getRealPath() : string
Return values
string

getSize()

Get size.

public getSize() : int
Return values
int

getStatistic()

Get informations about a file.

public getStatistic() : array<string|int, mixed>
Return values
array<string|int, mixed>

isBlockSpecial()

Check if it is block special.

public isBlockSpecial() : bool
Return values
bool

isCaseSensitive()

Check if the system is case sensitive or not.

public static isCaseSensitive() : bool
Return values
bool

isCharacterSpecial()

Check if it is character special file.

public isCharacterSpecial() : bool
Return values
bool

isDirectory()

Check if it is a directory.

public isDirectory() : bool
Return values
bool

isExecutable()

Check if the file is executable.

public isExecutable() : bool
Return values
bool

isFIFOPipe()

Check if it is a FIFO pipe.

public isFIFOPipe() : bool
Return values
bool

isFile()

Check if it is a file.

public isFile() : bool
Return values
bool

Check if it is a link.

public isLink() : bool
Return values
bool

isReadable()

Check if the file is readable.

public isReadable() : bool
Return values
bool

isSocket()

Check if it is a socket.

public isSocket() : bool
Return values
bool

isUnknown()

Check if it is an unknown type.

public isUnknown() : bool
Return values
bool

isWritable()

Check if the file is writable.

public isWritable() : bool
Return values
bool

lock()

Portable advisory locking.

public lock(int $operation) : bool
Parameters
$operation : int

Operation, use the \Hoa\Stream\IStream\Lockable::LOCK_* constants.

Return values
bool

move()

Move a file.

public move(string $name[, bool $force = StreamIStreamTouchable::DO_NOT_OVERWRITE ][, bool $mkdir = StreamIStreamTouchable::DO_NOT_MAKE_DIRECTORY ]) : bool
Parameters
$name : string

New name.

$force : bool = StreamIStreamTouchable::DO_NOT_OVERWRITE

Force to move if the file $name already exists. Use the \Hoa\Stream\IStream\Touchable::*OVERWRITE constants.

$mkdir : bool = StreamIStreamTouchable::DO_NOT_MAKE_DIRECTORY

Force to make directory if does not exist. Use the \Hoa\Stream\IStream\Touchable::*DIRECTORY constants.

Return values
bool

newBuffer()

Start a new buffer.

public newBuffer([mixed $callable = null ][, int $size = null ]) : int

The callable acts like a light filter.

Parameters
$callable : mixed = null

Callable.

$size : int = null

Size.

Return values
int

rewind()

Rewind the position of a stream pointer.

public rewind() : bool
Return values
bool

seek()

Seek on a stream pointer.

public seek(int $offset[, int $whence = StreamIStreamPointable::SEEK_SET ]) : int
Parameters
$offset : int

Offset (negative value should be supported).

$whence : int = StreamIStreamPointable::SEEK_SET

Whence, use the \Hoa\Stream\IStream\Pointable::SEEK_* constants.

Return values
int

tell()

Get the current position of the stream pointer.

public tell() : int
Return values
int

touch()

Set access and modification time of file.

public touch([int $time = -1 ][, int $atime = -1 ]) : bool
Parameters
$time : int = -1

Time. If equals to -1, time() should be used.

$atime : int = -1

Access time. If equals to -1, $time should be used.

Return values
bool

umask()

Change the current umask.

public static umask([int $umask = null ]) : int
Parameters
$umask : int = null

Umask (in octal!). If null, given the current umask value.

Return values
int

_close()

Close the current stream.

protected _close() : bool
Return values
bool

_open()

Open the stream and return the associated resource.

protected & _open(string $streamName[, Context $context = null ]) : resource
Parameters
$streamName : string

Stream name (e.g. path or URL).

$context : Context = null

Context.

Tags
throws
FileDoesNotExist
throws
Exception
Return values
resource

setMode()

Set the open mode.

protected setMode(string $mode) : string
Parameters
$mode : string

Open mode. Please, see the child::MODE_* constants.

Return values
string

        
On this page

Search results