PHP - Direct I/O Functions



PHP can support direct I/O functions as described in Posix Standard for performing I/O functions at a lower level than C-Language stream I/O functions (fopen(), read(), ..). The use of DIO functions could be considered only when direct control of a device has needed. In all other cases, standard filesystem functions are more than adequate.

This extension can be available only on Windows Platforms as of PHP 5.0.0.

Installation

Before using PHP's Direct I/O functions, make sure your installation of PHP is updated. These functions are usually included in standard PHP installations, but you can verify by checking your version.

Requirements

Make sure you have PHP 5.0.0 version or later. And it is compatible with Unix-based systems and Windows.

Runtime Configuration

Special php.ini settings are not needed for direct I/O functions. These functions should work with the standard PHP configuration. But, you might want to adjust some of the default settings, such memory limits or execution time, if you are working with big files.

Resource Types

This extension defines a single resource type, which is the file descriptor that dio_open() returns.

Predefined Constants

The constants are defined below by this extension and can be available only when an extension has either compiled into PHP or dynamically loaded at runtime.

  • F_DUPFD (integer)
  • F_GETFD (integer)
  • F_GETFL (integer)
  • F_GETLK (integer)
  • F_GETOWN (integer)
  • F_RDLCK (integer)
  • F_SETFL (integer)
  • F_SETLK (integer)
  • F_SETLKW (integer)
  • F_SETOWN (integer)
  • F_UNLCK (integer) (integer)
  • F_WRLCK (integer)
  • O_APPEND (integer)
  • O_ASYNC (integer)
  • O_CREAT (integer)
  • O_EXCL (integer)
  • O_NDELAY (integer)
  • O_NOCTTY (integer)
  • O_NONBLOCK (integer)
  • O_RDONLY (integer)
  • O_RDWR (integer)
  • O_SYNC (integer)
  • O_TRUNC (integer)
  • O_WRONLY (integer)
  • S_IRGRP (integer)
  • S_IROTH (integer)
  • S_IRUSR (integer)
  • S_IRWXG (integer)
  • S_IRWXO (integer)
  • S_IRWXU (integer)
  • S_IWGRP (integer)
  • S_IWOTH (integer)
  • S_IWUSR (integer)
  • S_IXGRP (integer)
  • S_IXOTH (integer)
  • S_IXUSR (integer)

Functions

Following are the Direct I/O Functions −

Sr.No Function & Description
1

dio_close()

Function can close a file descriptor given by fd.

2

dio_fcntl()

Function can perform a function fcntl of the c-library on fd descriptor.

3

dio_open()

Function can open a new filename file with specified flags permission and mode creation permission.

4

dio_read()

Function can read bytes from a file descriptor.

5

dio_seek()

Function can look for pos in fd from whence.

6

dio_stat()

Function can return statistics about a file descriptor fd.

7

dio_tcsetattr()

Function can set terminal attributes and baud rate for a serial port.

8

dio_truncate()

Function can truncate a file with the fd descriptor by offset bytes.

9

dio_write()

Function can write data to fd with optional truncation of length.

php_function_reference.htm
Advertisements