# php_manual

id: eio_readdir
type: function
doc:
<comment>Description:</comment>
  Reads through a whole directory
  
  Reads through a whole directory(via the <return>opendir</return>, <return>readdir</return> and <return>closedir</return> system calls) and returns
  either the names or an array in <strong>$result</strong> argument of <strong>$callback</strong> function, depending on the <strong>$flags</strong>
  argument.

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      Directory path.
  <info>int</info>       <strong>$flags</strong>     Combination of EIO_READDIR_* constants.
  <info>int</info>       <strong>$pri</strong>       The request priority: <info>EIO_PRI_DEFAULT</info>, <info>EIO_PRI_MIN</info>, <info>EIO_PRI_MAX</info>, or <info>null</info>.
                       If <info>null</info> passed, <strong>$pri</strong> internally is set to
                       <info>EIO_PRI_DEFAULT</info>.
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong> function is called when the request is done.
                       It should match the following prototype: 
                       <strong>$data</strong>is custom data passed to the request.<strong>$result</strong>request-specific result
                       value; basically, the value returned by corresponding
                       system call.<strong>$req</strong>is optional request resource which can be used with functions
                       like <strong>eio_get_last_error()</strong>
                       
                       is custom data passed to the request.
                       
                       request-specific result value; basically, the value returned by corresponding
                       system call.
                       
                       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>string</info>    <strong>$data</strong>      is custom data passed to the request.
  <info></info>          <strong>$result</strong>    request-specific result value; basically, the value returned by corresponding
                       system call.
  <info></info>          <strong>$req</strong>       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>string</info>    <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_readdir()</strong> returns request resource on success, or <info>false</info> on failure.  Sets <strong>$result</strong>
            argument of <strong>$callback</strong> function according to <strong>$flags</strong>:
            
            <info>EIO_READDIR_DENTS</info> (<info>int</info>) <strong>eio_readdir()</strong> flag. If specified, the result argument of the
            callback becomes an array with the following keys: <return>'names'</return> - array of directory names
            <return>'dents'</return> - array of <return>struct eio_dirent</return>-like arrays having the following keys each: <return>'name'</return>
            - the directory name; <return>'type'</return> - one of EIO_DT_* constants; <return>'inode'</return> - the inode number, if
            available, otherwise unspecified; <info>EIO_READDIR_DIRS_FIRST</info> (<info>int</info>)  When this flag is
            specified, the names will be returned in an order where likely directories come first,
            in optimal stat order. <info>EIO_READDIR_STAT_ORDER</info> (<info>int</info>)  When this flag is specified, then
            the names will be returned in an order suitable for <return>stat</return>'ing each one. When planning to
            <strong>stat()</strong> all files in the given directory, the returned order will likely be fastest.
            <info>EIO_READDIR_FOUND_UNKNOWN</info> (<info>int</info>)
             
            
            <strong>eio_readdir()</strong> flag. If specified, the result argument of the callback becomes an array
            with the following keys: <return>'names'</return> - array of directory names <return>'dents'</return> - array of <return>struct
            eio_dirent</return>-like arrays having the following keys each: <return>'name'</return> - the directory name;
            <return>'type'</return> - one of EIO_DT_* constants; <return>'inode'</return> - the inode number, if available, otherwise
            unspecified;
            
            When this flag is specified, the names will be returned in an order where likely
            directories come first, in optimal stat order.
            
            When this flag is specified, then the names will be returned in an order suitable for
            <return>stat</return>'ing each one. When planning to <strong>stat()</strong> all files in the given directory, the
            returned order will likely be fastest.
            
            Node types: <info>EIO_DT_UNKNOWN</info> (<info>int</info>)  Unknown node type(very common). Further <strong>stat()</strong> needed.
            <info>EIO_DT_FIFO</info> (<info>int</info>)  FIFO node type <info>EIO_DT_CHR</info> (<info>int</info>)  Node type <info>EIO_DT_MPC</info> (<info>int</info>)
            Multiplexed char device (v7+coherent) node type <info>EIO_DT_DIR</info> (<info>int</info>)  Directory node type
            <info>EIO_DT_NAM</info> (<info>int</info>)  Xenix special named file node type <info>EIO_DT_BLK</info> (<info>int</info>)  Node type
            <info>EIO_DT_MPB</info> (<info>int</info>)  Multiplexed block device (v7+coherent) <info>EIO_DT_REG</info> (<info>int</info>)  Node type
            <info>EIO_DT_NWK</info> (<info>int</info>)  <info>EIO_DT_CMP</info> (<info>int</info>)  HP-UX network special node type <info>EIO_DT_LNK</info> (<info>int</info>)
            Link node type <info>EIO_DT_SOCK</info> (<info>int</info>)  Socket node type <info>EIO_DT_DOOR</info> (<info>int</info>)  Solaris door node
            type <info>EIO_DT_WHT</info> (<info>int</info>)  Node type <info>EIO_DT_MAX</info> (<info>int</info>)  Highest node type value
            
            Unknown node type(very common). Further <strong>stat()</strong> needed.
            
            FIFO node type
            
            Node type
            
            Multiplexed char device (v7+coherent) node type
            
            Directory node type
            
            Xenix special named file node type
            
            Node type
            
            Multiplexed block device (v7+coherent)
            
            Node type
            
            HP-UX network special node type
            
            Link node type
            
            Socket node type
            
            Solaris door node type
            
            Node type
            
            Highest node type value


id: eio_readlink
type: function
doc:
<comment>Description:</comment>
  Read value of a symbolic link

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      Source symbolic link path
  <info>int</info>       <strong>$pri</strong>       The request priority: <info>EIO_PRI_DEFAULT</info>, <info>EIO_PRI_MIN</info>, <info>EIO_PRI_MAX</info>, or <info>null</info>.
                       If <info>null</info> passed, <strong>$pri</strong> internally is set to
                       <info>EIO_PRI_DEFAULT</info>.
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong> function is called when the request is done.
                       It should match the following prototype: 
                       <strong>$data</strong>is custom data passed to the request.<strong>$result</strong>request-specific result
                       value; basically, the value returned by corresponding
                       system call.<strong>$req</strong>is optional request resource which can be used with functions
                       like <strong>eio_get_last_error()</strong>
                       
                       is custom data passed to the request.
                       
                       request-specific result value; basically, the value returned by corresponding
                       system call.
                       
                       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>mixed</info>     <strong>$data</strong>      is custom data passed to the request.
  <info></info>          <strong>$result</strong>    request-specific result value; basically, the value returned by corresponding
                       system call.
  <info></info>          <strong>$req</strong>       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_readlink()</strong> returns request resource on success, or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>eio_symlink()</strong>


id: eio_realpath
type: function
doc:
<comment>Description:</comment>
  Get the canonicalized absolute pathname
  
  <strong>eio_realpath()</strong> returns the canonicalized absolute pathname in <strong>$result</strong> argument of <strong>$callback</strong>
  function.

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      Short pathname
  <info>int</info>       <strong>$pri</strong>       
  <info>callable</info>  <strong>$callback</strong>  
  <info>string</info>    <strong>$data</strong>      

<comment>Return:</comment>
  <info>resource</info>  


id: eio_rename
type: function
doc:
<comment>Description:</comment>
  Change the name or location of a file
  
  <strong>eio_rename()</strong> renames or moves a file to new location.

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      Source path
  <info>string</info>    <strong>$new_path</strong>  Target path
  <info>int</info>       <strong>$pri</strong>       The request priority: <info>EIO_PRI_DEFAULT</info>, <info>EIO_PRI_MIN</info>, <info>EIO_PRI_MAX</info>, or <info>null</info>.
                       If <info>null</info> passed, <strong>$pri</strong> internally is set to
                       <info>EIO_PRI_DEFAULT</info>.
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong> function is called when the request is done.
                       It should match the following prototype: 
                       <strong>$data</strong>is custom data passed to the request.<strong>$result</strong>request-specific result
                       value; basically, the value returned by corresponding
                       system call.<strong>$req</strong>is optional request resource which can be used with functions
                       like <strong>eio_get_last_error()</strong>
                       
                       is custom data passed to the request.
                       
                       request-specific result value; basically, the value returned by corresponding
                       system call.
                       
                       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>mixed</info>     <strong>$data</strong>      is custom data passed to the request.
  <info></info>          <strong>$result</strong>    request-specific result value; basically, the value returned by corresponding
                       system call.
  <info></info>          <strong>$req</strong>       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_rename()</strong> returns request resource on success, or <info>false</info> on failure.


id: eio_rmdir
type: function
doc:
<comment>Description:</comment>
  Remove a directory
  
  <strong>eio_rmdir()</strong> removes a directory.

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      Directory path
  <info>int</info>       <strong>$pri</strong>       The request priority: <info>EIO_PRI_DEFAULT</info>, <info>EIO_PRI_MIN</info>, <info>EIO_PRI_MAX</info>, or <info>null</info>.
                       If <info>null</info> passed, <strong>$pri</strong> internally is set to
                       <info>EIO_PRI_DEFAULT</info>.
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong> function is called when the request is done.
                       It should match the following prototype: 
                       <strong>$data</strong>is custom data passed to the request.<strong>$result</strong>request-specific result
                       value; basically, the value returned by corresponding
                       system call.<strong>$req</strong>is optional request resource which can be used with functions
                       like <strong>eio_get_last_error()</strong>
                       
                       is custom data passed to the request.
                       
                       request-specific result value; basically, the value returned by corresponding
                       system call.
                       
                       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>mixed</info>     <strong>$data</strong>      is custom data passed to the request.
  <info></info>          <strong>$result</strong>    request-specific result value; basically, the value returned by corresponding
                       system call.
  <info></info>          <strong>$req</strong>       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_rmdir()</strong> returns request resource on success, or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>eio_mkdir()</strong>


id: eio_seek
type: function
doc:
<comment>Description:</comment>
  Repositions the offset of the open file associated with the fd argument to the argument offset
  according to the directive whence
  
  <strong>eio_seek()</strong> repositions the offset of the open file associated with  stream, Socket resource, or
  file descriptor specified by <strong>$fd</strong> to the argument <strong>$offset</strong> according to the directive <strong>$whence</strong> as
  follows: <info>EIO_SEEK_SET</info> - Set position equal to <strong>$offset</strong> bytes.<info>EIO_SEEK_CUR</info> - Set position to current
  location plus <strong>$offset</strong>.<info>EIO_SEEK_END</info> - Set position to end-of-file plus <strong>$offset</strong>.

<comment>Param:</comment>
  <info>mixed</info>     <strong>$fd</strong>        Stream, Socket resource, or numeric file descriptor
  <info>int</info>       <strong>$offset</strong>    Starting point from which data is to be read.
  <info></info>          <strong>$length</strong>    Number of bytes to be read.
  <info>int</info>       <strong>$pri</strong>       The request priority: <info>EIO_PRI_DEFAULT</info>, <info>EIO_PRI_MIN</info>, <info>EIO_PRI_MAX</info>, or <info>null</info>.
                       If <info>null</info> passed, <strong>$pri</strong> internally is set to
                       <info>EIO_PRI_DEFAULT</info>.
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong> function is called when the request is done.
                       It should match the following prototype: 
                       <strong>$data</strong>is custom data passed to the request.<strong>$result</strong>request-specific result
                       value; basically, the value returned by corresponding
                       system call.<strong>$req</strong>is optional request resource which can be used with functions
                       like <strong>eio_get_last_error()</strong>
                       
                       is custom data passed to the request.
                       
                       request-specific result value; basically, the value returned by corresponding
                       system call.
                       
                       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>mixed</info>     <strong>$data</strong>      is custom data passed to the request.
  <info></info>          <strong>$result</strong>    request-specific result value; basically, the value returned by corresponding
                       system call.
  <info></info>          <strong>$req</strong>       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_seek()</strong> returns request resource on success, or <info>false</info> on failure.


id: eio_sendfile
type: function
doc:
<comment>Description:</comment>
  Transfer data between file descriptors
  
  <strong>eio_sendfile()</strong> copies  data between one file descriptor and another. See <return>SENDFILE(2)</return> man page for
  details.

<comment>Param:</comment>
  <info>mixed</info>     <strong>$out_fd</strong>    Output stream, Socket resource, or file descriptor. Should be opened for
                       writing.
  <info>mixed</info>     <strong>$in_fd</strong>     Input stream, Socket resource, or file descriptor. Should be opened for
                       reading.
  <info>int</info>       <strong>$offset</strong>    Offset within the source file.
  <info>int</info>       <strong>$length</strong>    Number of bytes to copy.
  <info>int</info>       <strong>$pri</strong>       The request priority: <info>EIO_PRI_DEFAULT</info>, <info>EIO_PRI_MIN</info>, <info>EIO_PRI_MAX</info>, or <info>null</info>.
                       If <info>null</info> passed, <strong>$pri</strong> internally is set to
                       <info>EIO_PRI_DEFAULT</info>.
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong> function is called when the request is done.
                       It should match the following prototype: 
                       <strong>$data</strong>is custom data passed to the request.<strong>$result</strong>request-specific result
                       value; basically, the value returned by corresponding
                       system call.<strong>$req</strong>is optional request resource which can be used with functions
                       like <strong>eio_get_last_error()</strong>
                       
                       is custom data passed to the request.
                       
                       request-specific result value; basically, the value returned by corresponding
                       system call.
                       
                       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>string</info>    <strong>$data</strong>      is custom data passed to the request.
  <info></info>          <strong>$result</strong>    request-specific result value; basically, the value returned by corresponding
                       system call.
  <info></info>          <strong>$req</strong>       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>string</info>    <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_sendfile()</strong> returns request resource on success, or <info>false</info> on failure.


id: eio_set_max_idle
type: function
doc:
<comment>Description:</comment>
  Set maximum number of idle threads

<comment>Param:</comment>
  <info>int</info>  <strong>$nthreads</strong>  Number of idle threads.

<comment>Return:</comment>
  <info>void</info>  No value is returned.

<comment>See Also:</comment>
   * <strong>eio_nthreads()</strong>
   * <strong>eio_set_min_parallel()</strong>
   * <strong>eio_set_max_parallel()</strong>


id: eio_set_max_parallel
type: function
doc:
<comment>Description:</comment>
  Set maximum parallel threads

<comment>Param:</comment>
  <info>int</info>  <strong>$nthreads</strong>  Number of parallel threads

<comment>Return:</comment>
  <info>void</info>  No value is returned.

<comment>See Also:</comment>
   * <strong>eio_nthreads()</strong>
   * <strong>eio_set_max_idle()</strong>
   * <strong>eio_set_min_parallel()</strong>


id: eio_set_max_poll_reqs
type: function
doc:
<comment>Description:</comment>
  Set maximum number of requests processed in a poll

<comment>Param:</comment>
  <info>int</info>  <strong>$nreqs</strong>  Number of requests

<comment>Return:</comment>
  <info>void</info>  No value is returned.


id: eio_set_max_poll_time
type: function
doc:
<comment>Description:</comment>
  Set maximum poll time
  
  Polling stops, if poll took longer than <strong>$nseconds</strong> seconds.

<comment>Param:</comment>
  <info>float</info>  <strong>$nseconds</strong>  Number of seconds

<comment>Return:</comment>
  <info>void</info>  No value is returned.


id: eio_set_min_parallel
type: function
doc:
<comment>Description:</comment>
  Set minimum parallel thread number

<comment>Param:</comment>
  <info>string</info>  <strong>$nthreads</strong>  Number of parallel threads.

<comment>Return:</comment>
  <info>void</info>  No value is returned.

<comment>See Also:</comment>
   * <strong>eio_nthreads()</strong>
   * <strong>eio_set_max_idle()</strong>
   * <strong>eio_set_max_parallel()</strong>


id: eio_stat
type: function
doc:
<comment>Description:</comment>
  Get file status
  
  <strong>eio_stat()</strong> returns file status information in <strong>$result</strong> argument of <strong>$callback</strong>

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      The file path
  <info>int</info>       <strong>$pri</strong>       The request priority: <info>EIO_PRI_DEFAULT</info>, <info>EIO_PRI_MIN</info>, <info>EIO_PRI_MAX</info>, or <info>null</info>.
                       If <info>null</info> passed, <strong>$pri</strong> internally is set to
                       <info>EIO_PRI_DEFAULT</info>.
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong> function is called when the request is done.
                       It should match the following prototype: 
                       <strong>$data</strong>is custom data passed to the request.<strong>$result</strong>request-specific result
                       value; basically, the value returned by corresponding
                       system call.<strong>$req</strong>is optional request resource which can be used with functions
                       like <strong>eio_get_last_error()</strong>
                       
                       is custom data passed to the request.
                       
                       request-specific result value; basically, the value returned by corresponding
                       system call.
                       
                       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>mixed</info>     <strong>$data</strong>      is custom data passed to the request.
  <info></info>          <strong>$result</strong>    request-specific result value; basically, the value returned by corresponding
                       system call.
  <info></info>          <strong>$req</strong>       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_stat()</strong> returns request resource on success or <info>false</info> on error. On success assigns
            <strong>$result</strong> argument of <strong>$callback</strong> to an array.

<comment>See Also:</comment>
   * <strong>eio_lstat()</strong>
   * <strong>eio_fstat()</strong>


id: eio_statvfs
type: function
doc:
<comment>Description:</comment>
  Get file system statistics
  
  <strong>eio_statvfs()</strong> returns file system statistics information in <strong>$result</strong> argument of <strong>$callback</strong>

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      Pathname of any file within the mounted file system
  <info>int</info>       <strong>$pri</strong>       The request priority: <info>EIO_PRI_DEFAULT</info>, <info>EIO_PRI_MIN</info>, <info>EIO_PRI_MAX</info>, or <info>null</info>.
                       If <info>null</info> passed, <strong>$pri</strong> internally is set to
                       <info>EIO_PRI_DEFAULT</info>.
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong> function is called when the request is done.
                       It should match the following prototype: 
                       <strong>$data</strong>is custom data passed to the request.<strong>$result</strong>request-specific result
                       value; basically, the value returned by corresponding
                       system call.<strong>$req</strong>is optional request resource which can be used with functions
                       like <strong>eio_get_last_error()</strong>
                       
                       is custom data passed to the request.
                       
                       request-specific result value; basically, the value returned by corresponding
                       system call.
                       
                       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>mixed</info>     <strong>$data</strong>      is custom data passed to the request.
  <info></info>          <strong>$result</strong>    request-specific result value; basically, the value returned by corresponding
                       system call.
  <info></info>          <strong>$req</strong>       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_statvfs()</strong> returns request resource on success, or <info>false</info> on failure.  On success
            assigns <strong>$result</strong> argument of <strong>$callback</strong> to an array.


id: eio_symlink
type: function
doc:
<comment>Description:</comment>
  Create a symbolic link
  
  <strong>eio_symlink()</strong> creates a symbolic link <strong>$new_path</strong> to <strong>$path</strong>.

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      Source path
  <info>string</info>    <strong>$new_path</strong>  Target path
  <info>int</info>       <strong>$pri</strong>       The request priority: <info>EIO_PRI_DEFAULT</info>, <info>EIO_PRI_MIN</info>, <info>EIO_PRI_MAX</info>, or <info>null</info>.
                       If <info>null</info> passed, <strong>$pri</strong> internally is set to
                       <info>EIO_PRI_DEFAULT</info>.
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong> function is called when the request is done.
                       It should match the following prototype: 
                       <strong>$data</strong>is custom data passed to the request.<strong>$result</strong>request-specific result
                       value; basically, the value returned by corresponding
                       system call.<strong>$req</strong>is optional request resource which can be used with functions
                       like <strong>eio_get_last_error()</strong>
                       
                       is custom data passed to the request.
                       
                       request-specific result value; basically, the value returned by corresponding
                       system call.
                       
                       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>mixed</info>     <strong>$data</strong>      is custom data passed to the request.
  <info></info>          <strong>$result</strong>    request-specific result value; basically, the value returned by corresponding
                       system call.
  <info></info>          <strong>$req</strong>       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_symlink()</strong> returns request resource on success, or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>eio_link()</strong>


id: eio_sync
type: function
doc:
<comment>Description:</comment>
  Commit buffer cache to disk

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_sync()</strong> returns request resource on success, or <info>false</info> on failure.


id: eio_sync_file_range
type: function
doc:
<comment>Description:</comment>
  Sync a file segment with disk
  
  <strong>eio_sync_file_range()</strong> permits fine control when synchronizing the open file referred to by the
  file descriptor <strong>$fd</strong> with disk.

<comment>Param:</comment>
  <info>mixed</info>     <strong>$fd</strong>        File descriptor
  <info>int</info>       <strong>$offset</strong>    The starting byte of the file range to be synchronized
  <info>int</info>       <strong>$nbytes</strong>    Specifies the length of the range to be synchronized, in bytes. If <strong>$nbytes</strong> is
                       zero, then all bytes from <strong>$offset</strong> through to the end of file are
                       synchronized.
  <info>int</info>       <strong>$flags</strong>     A bit-mask. Can include any of the following values:
                       <info>EIO_SYNC_FILE_RANGE_WAIT_BEFORE</info>, <info>EIO_SYNC_FILE_RANGE_WRITE</info>,
                       <info>EIO_SYNC_FILE_RANGE_WAIT_AFTER</info>. These flags have the same meaning as their
                       SYNC_FILE_RANGE_* counterparts(see <return>SYNC_FILE_RANGE(2)</return> man page).
  <info>int</info>       <strong>$pri</strong>       The request priority: <info>EIO_PRI_DEFAULT</info>, <info>EIO_PRI_MIN</info>, <info>EIO_PRI_MAX</info>, or <info>null</info>.
                       If <info>null</info> passed, <strong>$pri</strong> internally is set to
                       <info>EIO_PRI_DEFAULT</info>.
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong> function is called when the request is done.
                       It should match the following prototype: 
                       <strong>$data</strong>is custom data passed to the request.<strong>$result</strong>request-specific result
                       value; basically, the value returned by corresponding
                       system call.<strong>$req</strong>is optional request resource which can be used with functions
                       like <strong>eio_get_last_error()</strong>
                       
                       is custom data passed to the request.
                       
                       request-specific result value; basically, the value returned by corresponding
                       system call.
                       
                       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>mixed</info>     <strong>$data</strong>      is custom data passed to the request.
  <info></info>          <strong>$result</strong>    request-specific result value; basically, the value returned by corresponding
                       system call.
  <info></info>          <strong>$req</strong>       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_sync_file_range()</strong> returns request resource on success, or <info>false</info> on failure.


id: eio_syncfs
type: function
doc:
<comment>Description:</comment>
  Calls Linux' syncfs syscall, if available

<comment>Param:</comment>
  <info>mixed</info>     <strong>$fd</strong>        File descriptor
  <info>int</info>       <strong>$pri</strong>       The request priority: <info>EIO_PRI_DEFAULT</info>, <info>EIO_PRI_MIN</info>, <info>EIO_PRI_MAX</info>, or <info>null</info>.
                       If <info>null</info> passed, <strong>$pri</strong> internally is set to
                       <info>EIO_PRI_DEFAULT</info>.
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong> function is called when the request is done.
                       It should match the following prototype: 
                       <strong>$data</strong>is custom data passed to the request.<strong>$result</strong>request-specific result
                       value; basically, the value returned by corresponding
                       system call.<strong>$req</strong>is optional request resource which can be used with functions
                       like <strong>eio_get_last_error()</strong>
                       
                       is custom data passed to the request.
                       
                       request-specific result value; basically, the value returned by corresponding
                       system call.
                       
                       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>mixed</info>     <strong>$data</strong>      is custom data passed to the request.
  <info></info>          <strong>$result</strong>    request-specific result value; basically, the value returned by corresponding
                       system call.
  <info></info>          <strong>$req</strong>       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_syncfs()</strong> returns request resource on success, or <info>false</info> on failure.


id: eio_truncate
type: function
doc:
<comment>Description:</comment>
  Truncate a file
  
  <strong>eio_truncate()</strong> causes the regular file named by <strong>$path</strong> to be truncated to a size of precisely
  <strong>$length</strong> bytes

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      File path
  <info>int</info>       <strong>$offset</strong>    Offset from beginning of the file.
  <info>int</info>       <strong>$pri</strong>       The request priority: <info>EIO_PRI_DEFAULT</info>, <info>EIO_PRI_MIN</info>, <info>EIO_PRI_MAX</info>, or <info>null</info>.
                       If <info>null</info> passed, <strong>$pri</strong> internally is set to
                       <info>EIO_PRI_DEFAULT</info>.
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong> function is called when the request is done.
                       It should match the following prototype: 
                       <strong>$data</strong>is custom data passed to the request.<strong>$result</strong>request-specific result
                       value; basically, the value returned by corresponding
                       system call.<strong>$req</strong>is optional request resource which can be used with functions
                       like <strong>eio_get_last_error()</strong>
                       
                       is custom data passed to the request.
                       
                       request-specific result value; basically, the value returned by corresponding
                       system call.
                       
                       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>mixed</info>     <strong>$data</strong>      is custom data passed to the request.
  <info></info>          <strong>$result</strong>    request-specific result value; basically, the value returned by corresponding
                       system call.
  <info></info>          <strong>$req</strong>       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_busy()</strong> returns request resource on success, or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>eio_ftruncate()</strong>


id: eio_unlink
type: function
doc:
<comment>Description:</comment>
  Delete a name and possibly the file it refers to
  
  <strong>eio_unlink()</strong> deletes  a  name from the file system.

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      Path to file
  <info>int</info>       <strong>$pri</strong>       The request priority: <info>EIO_PRI_DEFAULT</info>, <info>EIO_PRI_MIN</info>, <info>EIO_PRI_MAX</info>, or <info>null</info>.
                       If <info>null</info> passed, <strong>$pri</strong> internally is set to
                       <info>EIO_PRI_DEFAULT</info>.
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong> function is called when the request is done.
                       It should match the following prototype: 
                       <strong>$data</strong>is custom data passed to the request.<strong>$result</strong>request-specific result
                       value; basically, the value returned by corresponding
                       system call.<strong>$req</strong>is optional request resource which can be used with functions
                       like <strong>eio_get_last_error()</strong>
                       
                       is custom data passed to the request.
                       
                       request-specific result value; basically, the value returned by corresponding
                       system call.
                       
                       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>mixed</info>     <strong>$data</strong>      is custom data passed to the request.
  <info></info>          <strong>$result</strong>    request-specific result value; basically, the value returned by corresponding
                       system call.
  <info></info>          <strong>$req</strong>       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_unlink()</strong> returns request resource on success, or <info>false</info> on failure.


id: eio_utime
type: function
doc:
<comment>Description:</comment>
  Change file last access and modification times

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      Path to the file.
  <info>float</info>     <strong>$atime</strong>     Access time
  <info>float</info>     <strong>$mtime</strong>     Modification time
  <info>int</info>       <strong>$pri</strong>       The request priority: <info>EIO_PRI_DEFAULT</info>, <info>EIO_PRI_MIN</info>, <info>EIO_PRI_MAX</info>, or <info>null</info>.
                       If <info>null</info> passed, <strong>$pri</strong> internally is set to
                       <info>EIO_PRI_DEFAULT</info>.
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong> function is called when the request is done.
                       It should match the following prototype: 
                       <strong>$data</strong>is custom data passed to the request.<strong>$result</strong>request-specific result
                       value; basically, the value returned by corresponding
                       system call.<strong>$req</strong>is optional request resource which can be used with functions
                       like <strong>eio_get_last_error()</strong>
                       
                       is custom data passed to the request.
                       
                       request-specific result value; basically, the value returned by corresponding
                       system call.
                       
                       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>mixed</info>     <strong>$data</strong>      is custom data passed to the request.
  <info></info>          <strong>$result</strong>    request-specific result value; basically, the value returned by corresponding
                       system call.
  <info></info>          <strong>$req</strong>       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_utime()</strong> returns request resource on success, or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>eio_futime()</strong>


id: eio_write
type: function
doc:
<comment>Description:</comment>
  Write to file
  
  <strong>eio_write()</strong> writes up to <strong>$length</strong> bytes from <strong>$str</strong> at <strong>$offset</strong> offset from the beginning of the file.

<comment>Param:</comment>
  <info>mixed</info>     <strong>$fd</strong>        Stream, Socket resource, or numeric file descriptor, e.g. returned by
                       <strong>eio_open()</strong>
  <info>string</info>    <strong>$str</strong>       Source string
  <info>int</info>       <strong>$length</strong>    Maximum number of bytes to write.
  <info>int</info>       <strong>$offset</strong>    Offset from the beginning of file.
  <info>int</info>       <strong>$pri</strong>       The request priority: <info>EIO_PRI_DEFAULT</info>, <info>EIO_PRI_MIN</info>, <info>EIO_PRI_MAX</info>, or <info>null</info>.
                       If <info>null</info> passed, <strong>$pri</strong> internally is set to
                       <info>EIO_PRI_DEFAULT</info>.
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong> function is called when the request is done.
                       It should match the following prototype: 
                       <strong>$data</strong>is custom data passed to the request.<strong>$result</strong>request-specific result
                       value; basically, the value returned by corresponding
                       system call.<strong>$req</strong>is optional request resource which can be used with functions
                       like <strong>eio_get_last_error()</strong>
                       
                       is custom data passed to the request.
                       
                       request-specific result value; basically, the value returned by corresponding
                       system call.
                       
                       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>mixed</info>     <strong>$data</strong>      is custom data passed to the request.
  <info></info>          <strong>$result</strong>    request-specific result value; basically, the value returned by corresponding
                       system call.
  <info></info>          <strong>$req</strong>       is optional request resource which can be used with functions like
                       <strong>eio_get_last_error()</strong>
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_write()</strong> returns request resource on success, or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>eio_open()</strong>


id: empty
type: function
doc:
<comment>Description:</comment>
  Determine whether a variable is empty
  
  Determine whether a variable is considered to be empty. A variable is considered empty if it does
  not exist or if its value equals <info>false</info>. <strong>empty()</strong> does not generate a warning if the variable does
  not exist.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$var</strong>  Variable to be checked
               
               No warning is generated if the variable does not exist. That means <strong>empty()</strong> is
               essentially the concise equivalent to !isset($var) || $var == false.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if <strong>$var</strong> does not exist or has a value that is empty or equal to zero, aka
        falsey, see conversion to boolean. Otherwise returns <info>false</info>.

<comment>See Also:</comment>
   * <strong>isset()</strong>
   * __isset()
   * <strong>unset()</strong>
   * <strong>array_key_exists()</strong>
   * <strong>count()</strong>
   * <strong>strlen()</strong>
   * The type comparison tables


id: enchant_broker_describe
type: function
doc:
<comment>Description:</comment>
  Enumerates the Enchant providers
  
  Enumerates the Enchant providers and tells you some rudimentary information about them. The same
  info is provided through phpinfo().

<comment>Param:</comment>
  <info>EnchantBroker</info>  <strong>$broker</strong>  An Enchant broker returned by <strong>enchant_broker_init()</strong>.

<comment>Return:</comment>
  <info>array</info>  Returns an <info>array</info> of available Enchant providers with their details.


id: enchant_broker_dict_exists
type: function
doc:
<comment>Description:</comment>
  Whether a dictionary exists or not. Using non-empty tag
  
  Tells if a dictionary exists or not, using a non-empty tags

<comment>Param:</comment>
  <info>EnchantBroker</info>  <strong>$broker</strong>  An Enchant broker returned by <strong>enchant_broker_init()</strong>.
  <info>string</info>         <strong>$tag</strong>     non-empty tag in the LOCALE format, ex: us_US, ch_DE, etc.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> when the tag exist or <info>false</info> when not.

<comment>See Also:</comment>
   * <strong>enchant_broker_describe()</strong>


id: enchant_broker_free
type: function
doc:
<comment>Description:</comment>
  Free the broker resource and its dictionaries
  
  Free a broker with all its dictionaries. As of PHP 8.0.0, it is recommended to unset the object
  instead of calling this function.

<comment>Param:</comment>
  <info>EnchantBroker</info>  <strong>$broker</strong>  An Enchant broker returned by <strong>enchant_broker_init()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>enchant_broker_init()</strong>


id: enchant_broker_free_dict
type: function
doc:
<comment>Description:</comment>
  Free a dictionary resource
  
  Free a dictionary. As of PHP 8.0.0, it is recommended to unset the object instead of calling this
  function.

<comment>Param:</comment>
  <info>EnchantDictionary</info>  <strong>$dictionary</strong>  An Enchant dictionary returned by <strong>enchant_broker_request_dict()</strong> or
                                  <strong>enchant_broker_request_pwl_dict()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>enchant_broker_request_dict()</strong>
   * <strong>enchant_broker_request_pwl_dict()</strong>


id: enchant_broker_get_dict_path
type: function
doc:
<comment>Description:</comment>
  Get the directory path for a given backend
  
  Get the directory path for a given backend.

<comment>Param:</comment>
  <info>EnchantBroker</info>  <strong>$broker</strong>  An Enchant broker returned by <strong>enchant_broker_init()</strong>.
  <info>int</info>            <strong>$type</strong>    The type of the dictionaries, i.e. <info>ENCHANT_MYSPELL</info> or <info>ENCHANT_ISPELL</info>.

<comment>Return:</comment>
  <info>string|false</info>  Returns the path of the dictionary directory on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>enchant_broker_set_dict_path()</strong>


id: enchant_broker_get_error
type: function
doc:
<comment>Description:</comment>
  Returns the last error of the broker
  
  Returns the last error which occurred in this broker.

<comment>Param:</comment>
  <info>EnchantBroker</info>  <strong>$broker</strong>  An Enchant broker returned by <strong>enchant_broker_init()</strong>.

<comment>Return:</comment>
  <info>string|false</info>  Return the msg string if an error was found or <info>false</info>


id: enchant_broker_init
type: function
doc:
<comment>Description:</comment>
  Create a new broker object capable of requesting

<comment>Return:</comment>
  <info>EnchantBroker|false</info>  Returns a broker resource on success or <info>false</info>.

<comment>See Also:</comment>
   * <strong>enchant_broker_free()</strong>


id: enchant_broker_list_dicts
type: function
doc:
<comment>Description:</comment>
  Returns a list of available dictionaries
  
  Returns a list of available dictionaries with their details.

<comment>Param:</comment>
  <info>EnchantBroker</info>  <strong>$broker</strong>  An Enchant broker returned by <strong>enchant_broker_init()</strong>.

<comment>Return:</comment>
  <info>array</info>  Returns an <info>array</info> of available dictionaries with their details.

<comment>See Also:</comment>
   * <strong>enchant_broker_describe()</strong>


id: enchant_broker_request_dict
type: function
doc:
<comment>Description:</comment>
  Create a new dictionary using a tag
  
  create a new dictionary using tag, the non-empty language tag you wish to request a dictionary for
  ("en_US", "de_DE", ...)

<comment>Param:</comment>
  <info>EnchantBroker</info>  <strong>$broker</strong>  An Enchant broker returned by <strong>enchant_broker_init()</strong>.
  <info>string</info>         <strong>$tag</strong>     A tag describing the locale, for example en_US, de_DE

<comment>Return:</comment>
  <info>EnchantDictionary|false</info>  Returns a dictionary resource on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>enchant_dict_describe()</strong>
   * <strong>enchant_broker_dict_exists()</strong>
   * <strong>enchant_broker_free_dict()</strong>


id: enchant_broker_request_pwl_dict
type: function
doc:
<comment>Description:</comment>
  Creates a dictionary using a PWL file
  
  Creates a dictionary using a PWL file. A PWL file is personal word file one word per line.

<comment>Param:</comment>
  <info>EnchantBroker</info>  <strong>$broker</strong>    An Enchant broker returned by <strong>enchant_broker_init()</strong>.
  <info>string</info>         <strong>$filename</strong>  Path to the PWL file. If there is no such file, a new one will be
                            created if possible.

<comment>Return:</comment>
  <info>EnchantDictionary|false</info>  Returns a dictionary resource on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>enchant_dict_describe()</strong>
   * <strong>enchant_broker_dict_exists()</strong>
   * <strong>enchant_broker_free_dict()</strong>


id: enchant_broker_set_dict_path
type: function
doc:
<comment>Description:</comment>
  Set the directory path for a given backend
  
  Set the directory path for a given backend.

<comment>Param:</comment>
  <info>EnchantBroker</info>  <strong>$broker</strong>  An Enchant broker returned by <strong>enchant_broker_init()</strong>.
  <info>int</info>            <strong>$type</strong>    The type of the dictionaries, i.e. <info>ENCHANT_MYSPELL</info> or <info>ENCHANT_ISPELL</info>.
  <info>string</info>         <strong>$path</strong>    The path of the dictionary directory.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>enchant_broker_get_dict_path()</strong>


id: enchant_broker_set_ordering
type: function
doc:
<comment>Description:</comment>
  Declares a preference of dictionaries to use for the language
  
  Declares a preference of dictionaries to use for the language described/referred to by 'tag'. The
  ordering is a comma delimited list of provider names. As a special exception, the "*" tag can be
  used as a language tag to declare a default ordering for any language that does not explicitly
  declare an ordering.

<comment>Param:</comment>
  <info>EnchantBroker</info>  <strong>$broker</strong>    An Enchant broker returned by <strong>enchant_broker_init()</strong>.
  <info>string</info>         <strong>$tag</strong>       Language tag. The special "*" tag can be used as a language tag to
                            declare a default ordering for any language that does not explicitly
                            declare an ordering.
  <info>string</info>         <strong>$ordering</strong>  Comma delimited list of provider names

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.


id: enchant_dict_add
type: function
doc:
<comment>Description:</comment>
  Add a word to personal word list
  
  Add a word to personal word list of the given dictionary.

<comment>Param:</comment>
  <info>EnchantDictionary</info>  <strong>$dictionary</strong>  An Enchant dictionary returned by <strong>enchant_broker_request_dict()</strong> or
                                  <strong>enchant_broker_request_pwl_dict()</strong>.
  <info>string</info>             <strong>$word</strong>        The word to add

<comment>Return:</comment>
  <info>void</info>  Returns <info>true</info> on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>enchant_broker_request_pwl_dict()</strong>
   * <strong>enchant_broker_request_dict()</strong>


id: enchant_dict_add_to_personal
type: function
doc:
<comment>Description:</comment>
  Alias of enchant_dict_add
  
  This function is an alias of:  <strong>enchant_dict_add()</strong>.


id: enchant_dict_add_to_session
type: function
doc:
<comment>Description:</comment>
  Add 'word' to this spell-checking session
  
  Add a word to the given dictionary. It will be added only for the active spell-checking session.

<comment>Param:</comment>
  <info>EnchantDictionary</info>  <strong>$dictionary</strong>  An Enchant dictionary returned by <strong>enchant_broker_request_dict()</strong> or
                                  <strong>enchant_broker_request_pwl_dict()</strong>.
  <info>string</info>             <strong>$word</strong>        The word to add

<comment>Return:</comment>
  <info>void</info>  No value is returned.

<comment>See Also:</comment>
   * <strong>enchant_broker_request_dict()</strong>


id: enchant_dict_check
type: function
doc:
<comment>Description:</comment>
  Check whether a word is correctly spelled or not
  
  If the word is correctly spelled return <info>true</info>, otherwise return <info>false</info>

<comment>Param:</comment>
  <info>EnchantDictionary</info>  <strong>$dictionary</strong>  An Enchant dictionary returned by <strong>enchant_broker_request_dict()</strong> or
                                  <strong>enchant_broker_request_pwl_dict()</strong>.
  <info>string</info>             <strong>$word</strong>        The word to check

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the word is spelled correctly, <info>false</info> if not.


id: enchant_dict_describe
type: function
doc:
<comment>Description:</comment>
  Describes an individual dictionary
  
  Returns the details of the dictionary.

<comment>Param:</comment>
  <info>EnchantDictionary</info>  <strong>$dictionary</strong>  An Enchant dictionary returned by <strong>enchant_broker_request_dict()</strong> or
                                  <strong>enchant_broker_request_pwl_dict()</strong>.

<comment>Return:</comment>
  <info>array</info>  Returns <info>true</info> on success or <info>false</info> on failure.


id: enchant_dict_get_error
type: function
doc:
<comment>Description:</comment>
  Returns the last error of the current spelling-session
  
  Returns the last error of the current spelling-session

<comment>Param:</comment>
  <info>EnchantDictionary</info>  <strong>$dictionary</strong>  An Enchant dictionary returned by <strong>enchant_broker_request_dict()</strong> or
                                  <strong>enchant_broker_request_pwl_dict()</strong>.

<comment>Return:</comment>
  <info>string|false</info>  Returns the error message as string or <info>false</info> if no error occurred.


id: enchant_dict_is_added
type: function
doc:
<comment>Description:</comment>
  Whether or not 'word' exists in this spelling-session
  
  Tells whether or not a word already exists in the current session.

<comment>Param:</comment>
  <info>EnchantDictionary</info>  <strong>$dictionary</strong>  An Enchant dictionary returned by <strong>enchant_broker_request_dict()</strong> or
                                  <strong>enchant_broker_request_pwl_dict()</strong>.
  <info>string</info>             <strong>$word</strong>        The word to lookup

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the word exists or <info>false</info>

<comment>See Also:</comment>
   * <strong>enchant_dict_add_to_session()</strong>


id: enchant_dict_is_in_session
type: function
doc:
<comment>Description:</comment>
  Alias of enchant_dict_is_added
  
  This function is an alias of:  <strong>enchant_dict_is_added()</strong>.


id: enchant_dict_quick_check
type: function
doc:
<comment>Description:</comment>
  Check the word is correctly spelled and provide suggestions
  
  If the word is correctly spelled return <info>true</info>, otherwise return <info>false</info>, if suggestions variable is
  provided, fill it with spelling alternatives.

<comment>Param:</comment>
  <info>EnchantDictionary</info>  <strong>$dictionary</strong>   An Enchant dictionary returned by <strong>enchant_broker_request_dict()</strong>
                                   or <strong>enchant_broker_request_pwl_dict()</strong>.
  <info>string</info>             <strong>$word</strong>         The word to check
  <info>array</info>              <strong>$suggestions</strong>  If the word is not correctly spelled, this variable will contain
                                   an array of suggestions.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the word is correctly spelled or <info>false</info>

<comment>See Also:</comment>
   * <strong>enchant_dict_check()</strong>
   * <strong>enchant_dict_suggest()</strong>


id: enchant_dict_store_replacement
type: function
doc:
<comment>Description:</comment>
  Add a correction for a word
  
  Add a correction for 'mis' using 'cor'. Notes that you replaced @mis with @cor, so it's possibly
  more likely that future occurrences of @mis will be replaced with @cor. So it might bump @cor up
  in the suggestion list.

<comment>Param:</comment>
  <info>EnchantDictionary</info>  <strong>$dictionary</strong>  An Enchant dictionary returned by <strong>enchant_broker_request_dict()</strong> or
                                  <strong>enchant_broker_request_pwl_dict()</strong>.
  <info>string</info>             <strong>$misspelled</strong>  The work to fix
  <info>string</info>             <strong>$correct</strong>     The correct word

<comment>Return:</comment>
  <info>void</info>  Returns <info>true</info> on success or <info>false</info> on failure.


id: enchant_dict_suggest
type: function
doc:
<comment>Description:</comment>
  Will return a list of values if any of those pre-conditions are not met

<comment>Param:</comment>
  <info>EnchantDictionary</info>  <strong>$dictionary</strong>  An Enchant dictionary returned by <strong>enchant_broker_request_dict()</strong> or
                                  <strong>enchant_broker_request_pwl_dict()</strong>.
  <info>string</info>             <strong>$word</strong>        Word to use for the suggestions.

<comment>Return:</comment>
  <info>array</info>  Will returns an array of suggestions if the word is bad spelled.

<comment>See Also:</comment>
   * <strong>enchant_dict_check()</strong>
   * <strong>enchant_dict_quick_check()</strong>


id: end
type: function
doc:
<comment>Description:</comment>
  Set the internal pointer of an array to its last element
  
  <strong>end()</strong> advances <strong>$array</strong>'s internal pointer to the last element, and returns its value.

<comment>Param:</comment>
  <info>array|object</info>  <strong>$array</strong>  The array.  This array is passed by reference because it is modified by the
                        function.  This means you must pass it a real variable and not a function
                        returning an array because only actual variables may be passed by reference.

<comment>Return:</comment>
  <info>mixed</info>  Returns the value of the last element or <info>false</info> for empty array.

<comment>See Also:</comment>
   * <strong>current()</strong>
   * <strong>each()</strong>
   * <strong>prev()</strong>
   * <strong>reset()</strong>
   * <strong>next()</strong>
   * <strong>array_key_last()</strong>


id: enum_exists
type: function
doc:
<comment>Description:</comment>
  Checks if the enum has been defined
  
  This function checks whether or not the given enum has been defined.

<comment>Param:</comment>
  <info>string</info>  <strong>$enum</strong>      The enum name. The name is matched in a case-insensitive manner.
  <info>bool</info>    <strong>$autoload</strong>  Whether to autoload if not already loaded.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if <strong>$enum</strong> is a defined enum, <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>function_exists()</strong>
   * <strong>class_exists()</strong>
   * <strong>interface_exists()</strong>
   * <strong>get_declared_classes()</strong>


id: error_clear_last
type: function
doc:
<comment>Description:</comment>
  Clear the most recent error

<comment>Return:</comment>
  <info>void</info>  Clears the most recent errors, making it unable to be retrieved with <strong>error_get_last()</strong>.

<comment>See Also:</comment>
   * Error constants


id: error_get_last
type: function
doc:
<comment>Description:</comment>
  Get the last occurred error
  
  Gets information about the last error that occurred.

<comment>Return:</comment>
  <info>array|null</info>  Returns an associative array describing the last error with keys "type", "message",
              "file" and "line". If the error has been caused by a PHP internal function then the
              "message" begins with its name. Returns <info>null</info> if there hasn't been an error yet.

<comment>See Also:</comment>
   * Error constants
   * Variable $php_errormsg
   * <strong>error_clear_last()</strong>
   * Directive <strong>$display_errors</strong>
   * Directive <strong>$html_errors</strong>
   * Directive <strong>$xmlrpc_errors</strong>


id: error_log
type: function
doc:
<comment>Description:</comment>
  Send an error message to the defined error handling routines
  
  Sends an error message to the web server's error log or to a file.

<comment>Param:</comment>
  <info>string</info>       <strong>$message</strong>             The error message that should be logged.
  <info>int</info>          <strong>$message_type</strong>        Says where the error should go. The possible message types are
                                    as  follows:
                                    
                                    <strong>error_log()</strong> log types0<strong>$message</strong> is sent to PHP's system logger,
                                    using the Operating System's system logging mechanism or a file,
                                    depending on what the error_log configuration directive is set
                                    to.  This is the default option. 1<strong>$message</strong> is sent by email to
                                    the address in the <strong>$destination</strong> parameter.  This is the only
                                    message type where the fourth parameter, <strong>$additional_headers</strong> is
                                    used. 2 No longer an option. 3<strong>$message</strong> is appended to the file
                                    <strong>$destination</strong>. A newline is not automatically  added to the end
                                    of the <strong>$message</strong> string. 4<strong>$message</strong> is sent directly to the SAPI
                                    logging handler.
  <info>string|null</info>  <strong>$destination</strong>         The destination. Its meaning depends on the  <strong>$message_type</strong>
                                    parameter as described above.
  <info>string|null</info>  <strong>$additional_headers</strong>  The extra headers. It's used when the <strong>$message_type</strong> parameter is
                                    set to <return>1</return>. This message type uses the same internal function as
                                    <strong>mail()</strong> does.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure. If <strong>$message_type</strong> is zero, this function always
        returns <info>true</info>, regardless of whether the error could be logged or not.


id: error_reporting
type: function
doc:
<comment>Description:</comment>
  Sets which PHP errors are reported
  
  The <strong>error_reporting()</strong> function sets the error_reporting directive at runtime.  PHP has many levels
  of errors, using this function sets that level for the duration (runtime) of your script. If the
  optional <strong>$error_level</strong> is not set, <strong>error_reporting()</strong> will just return the current error reporting
  level.

<comment>Param:</comment>
  <info>int|null</info>  <strong>$error_level</strong>  The new error_reporting level. It takes on either a bitmask, or named
                          constants. Using named  constants is strongly encouraged to ensure
                          compatibility for future  versions. As error levels are added, the range
                          of integers increases,  so older integer-based error levels will not
                          always behave as expected.
                          
                          The available error level constants and the actual meanings of these error
                          levels are described in the predefined constants.

<comment>Return:</comment>
  <info>int</info>  Returns the error_reporting level, before it is changed to <strong>$error_level</strong>.
       
       The error control <return>@</return>-operator changes the <strong>$error_level</strong> during error handling.

<comment>See Also:</comment>
   * The display_errors directive
   * The html_errors directive
   * The xmlrpc_errors directive
   * The error control operator
   * <strong>ini_set()</strong>


id: escapeshellarg
type: function
doc:
<comment>Description:</comment>
  Escape a string to be used as a shell argument
  
  <strong>escapeshellarg()</strong> adds single quotes around a string and quotes/escapes any existing single quotes
  allowing you to pass a string directly to a shell function and having it be treated as a single
  safe argument.  This function should be used to escape individual arguments to shell functions
  coming from user input.  The shell functions include <strong>exec()</strong>, <strong>system()</strong> and the backtick operator.
  
  On Windows, <strong>escapeshellarg()</strong> instead replaces percent signs, exclamation marks (delayed variable
  substitution) and double quotes with spaces and adds double quotes around the string. Furthermore,
  each streak of consecutive backslashes (<return>\</return>) is escaped by one additional backslash.

<comment>Param:</comment>
  <info>string</info>  <strong>$arg</strong>  The argument that will be escaped.

<comment>Return:</comment>
  <info>string</info>  The escaped string.

<comment>See Also:</comment>
   * <strong>escapeshellcmd()</strong>
   * <strong>exec()</strong>
   * <strong>popen()</strong>
   * <strong>system()</strong>
   * backtick operator


id: escapeshellcmd
type: function
doc:
<comment>Description:</comment>
  Escape shell metacharacters
  
  <strong>escapeshellcmd()</strong> escapes any characters in a string that might be used to trick a shell command
  into executing arbitrary commands.  This function should be used to make sure that any data coming
  from user input is escaped before this data is passed to the <strong>exec()</strong> or <strong>system()</strong> functions, or to
  the backtick operator.
  
  Following characters are preceded by a backslash: <return>&#;`|*?~\<&gt;^()[]{}$\</return>, <return>\x0A</return> and <return>\xFF</return>. <return>'</return> and <return>"</return> are escaped only if they are not paired. On Windows, all these characters plus <return>%</return> and <return>!</return> are preceded by a caret (<return>^</return>).

<comment>Param:</comment>
  <info>string</info>  <strong>$command</strong>  The command that will be escaped.

<comment>Return:</comment>
  <info>string</info>  The escaped string.

<comment>See Also:</comment>
   * <strong>escapeshellarg()</strong>
   * <strong>exec()</strong>
   * <strong>popen()</strong>
   * <strong>system()</strong>
   * backtick operator


id: eval
type: function
doc:
<comment>Description:</comment>
  Evaluate a string as PHP code
  
  Evaluates the given <strong>$code</strong> as PHP.
  
  The code being evaluated inherits the variable scope of the line on which the <strong>eval()</strong> call occurs.
  Any variables available at that line will be available for reading and modification in the
  evaluated code. However, all functions and classes defined will be defined in the global
  namespace. In other words, the compiler considers the evaluated code as if it were a separate
  included file.
  
  The <strong>eval()</strong> language construct is very dangerous because it allows execution of arbitrary PHP code.
  Its use thus is discouraged. If you have carefully verified that there is no other option than to
  use this construct, pay special attention not to pass any user provided data into it without
  properly validating it beforehand.

<comment>Param:</comment>
  <info>string</info>  <strong>$code</strong>  Valid PHP code to be evaluated.
                 
                 The code must not be wrapped in opening and closing PHP tags, i.e. <return>'echo "Hi!";'</return>
                 must be passed instead of <return>'\<?php echo "Hi!"; ?&gt;'</return>. It is still possible to leave and re-enter PHP mode though using the appropriate PHP tags, e.g. <return>'echo "In PHP mode!"; ?&gt;In HTML mode!\<?php echo "Back in PHP mode!";'</return>.
                 
                 Apart from that the passed code must be valid PHP. This includes that all
                 statements must be properly terminated using a semicolon. <return>'echo "Hi!"'</return> for example
                 will cause a parse error, whereas <return>'echo "Hi!";'</return> will work.
                 
                 A <return>return</return> statement will immediately terminate the evaluation of the code.
                 
                 The code will be executed in the scope of the code calling <strong>eval()</strong>. Thus any
                 variables defined or changed in the <strong>eval()</strong> call will remain visible after it
                 terminates.

<comment>Return:</comment>
  <info>mixed</info>  <strong>eval()</strong> returns <info>null</info> unless  <return>return</return> is called in the evaluated code, in which case the value
         passed to <return>return</return> is returned. As of PHP 7, if there is a parse error in the evaluated code,
         <strong>eval()</strong> throws a ParseError exception. Before PHP 7, in this case <strong>eval()</strong> returned <info>false</info> and
         execution of the following code continued normally. It is not possible to catch a parse
         error in <strong>eval()</strong> using <strong>set_error_handler()</strong>.

<comment>See Also:</comment>
   * <strong>call_user_func()</strong>


id: exec
type: function
doc:
<comment>Description:</comment>
  Execute an external program
  
  <strong>exec()</strong> executes the given <strong>$command</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$command</strong>      The command that will be executed.
  <info>array</info>   <strong>$output</strong>       If the <strong>$output</strong> argument is present, then the specified array will be filled
                        with every line of output from the command.  Trailing whitespace, such as
                        <return>\n</return>, is not included in this array.  Note that if the array already contains
                        some elements, <strong>exec()</strong> will append to the end of the array. If you do not
                        want the function to append elements, call <strong>unset()</strong> on the array before
                        passing it to <strong>exec()</strong>.
  <info>int</info>     <strong>$result_code</strong>  If the <strong>$result_code</strong> argument is present along with the <strong>$output</strong> argument,
                        then the return status of the executed command will be written to this
                        variable.

<comment>Return:</comment>
  <info>string|false</info>  The last line from the result of the command.  If you need to execute a  command and
                have all the data from the command passed directly back without  any interference,
                use the <strong>passthru()</strong> function.
                
                Returns <info>false</info> on failure.
                
                To get the output of the executed command, be sure to set and use the <strong>$output</strong>
                parameter.

<comment>See Also:</comment>
   * <strong>system()</strong>
   * <strong>passthru()</strong>
   * <strong>escapeshellcmd()</strong>
   * <strong>pcntl_exec()</strong>
   * backtick operator


id: exif_imagetype
type: function
doc:
<comment>Description:</comment>
  Determine the type of an image
  
  <strong>exif_imagetype()</strong> reads the first bytes of an image and checks its signature.
  
  <strong>exif_imagetype()</strong> can be used to avoid calls to other  exif functions with unsupported file types
  or in conjunction with $_SERVER['HTTP_ACCEPT'] to check  whether or not the viewer is able to see
  a specific image in the browser.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  The image being checked.

<comment>Return:</comment>
  <info>int|false</info>  When a correct signature is found, the appropriate constant value will be returned
             otherwise the return value is <info>false</info>. The return value is the same value that
             <strong>getimagesize()</strong> returns in index 2 but <strong>exif_imagetype()</strong> is much faster.
             
             The following constants are defined, and represent possible  <strong>exif_imagetype()</strong> return
             values: Imagetype
             ConstantsValueConstant1<info>IMAGETYPE_GIF</info>2<info>IMAGETYPE_JPEG</info>3<info>IMAGETYPE_PNG</info>4<info>IMAGETYPE_SWF</info>5<info>IMAGETYPE_PSD</info>6<info>IMAGETYPE_BMP</info>7<info>IMAGETYPE_TIFF_II</info>
             (intel byte order)8<info>IMAGETYPE_TIFF_MM</info> (motorola byte order)
             9<info>IMAGETYPE_JPC</info>10<info>IMAGETYPE_JP2</info>11<info>IMAGETYPE_JPX</info>12<info>IMAGETYPE_JB2</info>13<info>IMAGETYPE_SWC</info>14<info>IMAGETYPE_IFF</info>15<info>IMAGETYPE_WBMP</info>16<info>IMAGETYPE_XBM</info>17<info>IMAGETYPE_ICO</info>18<info>IMAGETYPE_WEBP</info>19<info>IMAGETYPE_AVIF</info>
             
             <strong>exif_imagetype()</strong> will emit an <info>E_NOTICE</info> and return <info>false</info> if it is unable to read enough
             bytes from the file to determine the image type.

<comment>See Also:</comment>
   * <strong>image_type_to_mime_type()</strong>
   * <strong>getimagesize()</strong>


id: exif_read_data
type: function
doc:
<comment>Description:</comment>
  Reads the EXIF headers from an image file
  
  <strong>exif_read_data()</strong> reads the EXIF headers from an image file. This way you can read meta data
  generated by digital cameras.
  
  EXIF headers tend to be present in JPEG/TIFF images generated by digital cameras, but
  unfortunately each digital camera maker has a different idea of how to actually tag their images,
  so you can't always rely on a specific Exif header being present.
  
  <return>Height</return> and <return>Width</return> are computed the  same way <strong>getimagesize()</strong> does so their values must not be  part
  of any header returned.  Also, <return>html</return> is a  height/width text string to be used inside normal HTML.
  
  When an Exif header contains a Copyright note, this itself can contain two values. As the solution
  is inconsistent in the Exif 2.10 standard, the <return>COMPUTED</return> section will return both entries
  <return>Copyright.Photographer</return> and <return>Copyright.Editor</return> while the <return>IFD0</return> sections contains the byte array with
  the NULL character that splits both entries. Or just the first entry if the datatype was wrong
  (normal behaviour of Exif). The <return>COMPUTED</return> will also contain the entry <return>Copyright</return> which is either the
  original copyright string, or a comma separated list of the photo and editor copyright.
  
  The tag <return>UserComment</return> has the same problem as the Copyright tag. It can store two values.  First the
  encoding used, and second the value itself. If so the <return>IFD</return> section only contains the encoding or a
  byte array. The <return>COMPUTED</return> section will store both in the entries <return>UserCommentEncoding</return> and
  <return>UserComment</return>. The entry <return>UserComment</return> is available in both cases so it should be used in preference
  to the value in <return>IFD0</return> section.
  
  <strong>exif_read_data()</strong> also validates EXIF data tags according to the EXIF specification
  (http://exif.org/Exif2-2.PDF, page 20).

<comment>Param:</comment>
  <info>resource|string</info>  <strong>$file</strong>               The location of the image file. This can either be a path to
                                       the file (stream wrappers are also supported as usual) or a
                                       stream <info>resource</info>.
  <info>string|null</info>      <strong>$required_sections</strong>  Is a comma separated list of sections that need to be present
                                       in file  to produce a result <info>array</info>.  If none of the requested
                                       sections could be found the return value is <info>false</info>.
                                       FILEFileName, FileSize, FileDateTime, SectionsFoundCOMPUTED
                                       html, Width, Height, IsColor, and more if available.  Height
                                       and  Width are computed the same way <strong>getimagesize()</strong> does so
                                       their values must not be part of any header returned.  Also,
                                       <return>html</return> is a height/width text string to be used inside normal
                                       HTML. ANY_TAGAny information that has a Tag e.g. <return>IFD0</return>, <return>EXIF</return>,
                                       ...IFD0 All tagged data of IFD0. In normal imagefiles this
                                       contains image size and so forth. THUMBNAIL A file is
                                       supposed to contain a thumbnail if it has a second <return>IFD</return>. All
                                       tagged information about the embedded thumbnail is stored in
                                       this section. COMMENTComment headers of JPEG images.EXIF The
                                       EXIF section is a sub section of <return>IFD0</return>. It contains more
                                       detailed information about an image. Most of these entries
                                       are digital camera related.
  <info>bool</info>             <strong>$as_arrays</strong>          Specifies whether or not each section becomes an array. The
                                       <strong>$required_sections</strong> <return>COMPUTED</return>, <return>THUMBNAIL</return>, and <return>COMMENT</return>  always
                                       become arrays as they may contain values whose names conflict
                                       with other sections.
  <info>bool</info>             <strong>$read_thumbnail</strong>     When set to <info>true</info> the thumbnail itself is read.  Otherwise,
                                       only the tagged data is read.

<comment>Return:</comment>
  <info>array|false</info>  It returns an associative <info>array</info> where the array indexes are  the header names and the
               array values are the values associated with  those headers. If no data can be
               returned,  <strong>exif_read_data()</strong> will return <info>false</info>.

<comment>See Also:</comment>
   * <strong>exif_thumbnail()</strong>
   * <strong>getimagesize()</strong>
   * 


id: exif_tagname
type: function
doc:
<comment>Description:</comment>
  Get the header name for an index

<comment>Param:</comment>
  <info>int</info>  <strong>$index</strong>  The Tag ID for which a Tag Name will be looked up.

<comment>Return:</comment>
  <info>string|false</info>  Returns the header name, or <info>false</info> if <strong>$index</strong> is not a defined EXIF tag id.

<comment>See Also:</comment>
   * <strong>exif_imagetype()</strong>
   * EXIF Specification
   * EXIF Tags


id: exif_thumbnail
type: function
doc:
<comment>Description:</comment>
  Retrieve the embedded thumbnail of an image
  
  <strong>exif_thumbnail()</strong> reads the embedded thumbnail of an image.
  
  If you want to deliver thumbnails through this function, you should send the mimetype information
  using the <strong>header()</strong> function.
  
  It is possible that <strong>exif_thumbnail()</strong> cannot create an  image but can determine its size. In this
  case, the return value is  <info>false</info> but <strong>$width</strong> and <strong>$height</strong>  are set.

<comment>Param:</comment>
  <info>resource|string</info>  <strong>$file</strong>        The location of the image file. This can either be a path to the
                                file  or a stream <info>resource</info>.
  <info>int</info>              <strong>$width</strong>       The return width of the returned thumbnail.
  <info>int</info>              <strong>$height</strong>      The returned height of the returned thumbnail.
  <info>int</info>              <strong>$image_type</strong>  The returned image type of the returned thumbnail.  This is either
                                TIFF or JPEG.

<comment>Return:</comment>
  <info>string|false</info>  Returns the embedded thumbnail, or <info>false</info> if the image contains no  thumbnail.

<comment>See Also:</comment>
   * <strong>exif_read_data()</strong>
   * <strong>image_type_to_mime_type()</strong>


id: exit
type: function
doc:
<comment>Description:</comment>
  Output a message and terminate the current script
  
  Terminates execution of the script. Shutdown functions and object destructors will always be
  executed even if <return>exit</return> is called.
  
  <return>exit</return> is a language construct and it can be called without parentheses if no <strong>$status</strong> is passed.

<comment>Param:</comment>
  <info>string</info>  <strong>$status</strong>  If <strong>$status</strong> is a string, this function prints the <strong>$status</strong> just before exiting.
                   
                   If <strong>$status</strong> is an <info>int</info>, that value will be used as the exit status and not printed.
                   Exit statuses should be in the range 0 to 254, the exit status 255 is reserved by
                   PHP and shall not be used. The status 0 is used to terminate the program
                   successfully.

<comment>Return:</comment>
  <info>void</info>  No value is returned.

<comment>See Also:</comment>
   * <strong>register_shutdown_function()</strong>


id: exp
type: function
doc:
<comment>Description:</comment>
  Calculates the exponent of e
  
  Returns <info>e</info> raised to the power of <strong>$num</strong>.
  
  '<info>e</info>' is the base of the natural system of logarithms, or approximately 2.718282.

<comment>Param:</comment>
  <info>float</info>  <strong>$num</strong>  The argument to process

<comment>Return:</comment>
  <info>float</info>  'e' raised to the power of <strong>$num</strong>

<comment>See Also:</comment>
   * <strong>log()</strong>
   * <strong>pow()</strong>


id: expect_expectl
type: function
doc:
<comment>Description:</comment>
  Waits until the output from a process matches one
    of the patterns, a specified time period has passed, or an EOF is seen
    
  
  Waits until the output from a process matches one of the patterns, a specified time period has
  passed, or an EOF is seen.
  
  If <strong>$match</strong> is provided, then it is filled with the result of search. The matched string can be
  found in <strong>$match[0]</strong>. The match substrings (according to the parentheses) in the original pattern
  can be found in <strong>$match[1]</strong>, <strong>$match[2]</strong>, and so on, up to <strong>$match[9]</strong> (the limitation of libexpect).

<comment>Param:</comment>
  <info>resource</info>  <strong>$expect</strong>  An Expect stream, previously opened with <strong>expect_popen()</strong>.
  <info>array</info>     <strong>$cases</strong>   An array of expect cases. Each expect case is an indexed array, as described in
                     the following table: Expect Case ArrayIndex KeyValue TypeDescriptionIs
                     MandatoryDefault Value0stringpattern, that will be matched against the output
                     from the streamyes1mixedvalue, that will be returned by this function, if the
                     pattern matchesyes2integer pattern type, one of: <info>EXP_GLOB</info>, <info>EXP_EXACT</info> or
                     <info>EXP_REGEXP</info> no<info>EXP_GLOB</info>

<comment>Return:</comment>
  <info>int</info>  Returns value associated with the pattern that was matched.
       
       On failure this function returns: <info>EXP_EOF</info>, <info>EXP_TIMEOUT</info> or <info>EXP_FULLBUFFER</info>

<comment>See Also:</comment>
   * <strong>expect_popen()</strong>


id: expect_popen
type: function
doc:
<comment>Description:</comment>
  Execute command via Bourne shell, and open the PTY stream to
    the process
  
  Execute command via Bourne shell, and open the PTY stream to the process.

<comment>Param:</comment>
  <info>string</info>  <strong>$command</strong>  Command to execute.

<comment>Return:</comment>
  <info>resource</info>  Returns an open PTY stream to the processes <return>stdio</return>, <return>stdout</return>, and <return>stderr</return>.
            
            On failure this function returns <info>false</info>.

<comment>See Also:</comment>
   * <strong>popen()</strong>


id: explode
type: function
doc:
<comment>Description:</comment>
  Split a string by a string
  
  Returns an array of strings, each of which is a substring of <strong>$string</strong> formed by splitting it on
  boundaries formed by the string <strong>$separator</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$separator</strong>  The boundary string.
  <info>string</info>  <strong>$string</strong>     The input string.
  <info>int</info>     <strong>$limit</strong>      If <strong>$limit</strong> is set and positive, the returned array will contain a maximum of
                      <strong>$limit</strong> elements with the last element containing the rest of <strong>$string</strong>.
                      
                      If the <strong>$limit</strong> parameter is negative, all components except the last -<strong>$limit</strong>
                      are returned.
                      
                      If the <strong>$limit</strong> parameter is zero, then this is treated as 1.

<comment>Return:</comment>
  <info>array</info>  Returns an <info>array</info> of <info>string</info>s created by splitting the <strong>$string</strong> parameter on boundaries formed
         by the <strong>$separator</strong>.
         
         If <strong>$separator</strong> is an empty <info>string</info> (""), <strong>explode()</strong> throws a <class>ValueError</class>. If <strong>$separator</strong>
         contains a value that is not contained in <strong>$string</strong> and a negative <strong>$limit</strong> is used, then an
         empty <info>array</info> will be returned, otherwise an <info>array</info> containing <strong>$string</strong> will be returned. If
         <strong>$separator</strong>  values appear at the start or end of <strong>$string</strong>, said values  will be added as an
         empty <info>array</info> value either in the first or last  position of the returned <info>array</info> respectively.

<comment>See Also:</comment>
   * <strong>preg_split()</strong>
   * <strong>str_split()</strong>
   * <strong>mb_split()</strong>
   * <strong>str_word_count()</strong>
   * <strong>strtok()</strong>
   * <strong>implode()</strong>


id: expm1
type: function
doc:
<comment>Description:</comment>
  Returns exp($num) - 1, computed in a way that is accurate even
     when the value of number is close to zero
    
  
  <strong>expm1()</strong> returns the equivalent to 'exp(<strong>$num</strong>) -  1' computed in a way that is accurate even if the
  value of <strong>$num</strong> is near zero, a case where 'exp (<strong>$num</strong>) - 1' would be inaccurate due to subtraction
  of two numbers that are nearly equal.

<comment>Param:</comment>
  <info>float</info>  <strong>$num</strong>  The argument to process

<comment>Return:</comment>
  <info>float</info>  'e' to the power of <strong>$num</strong> minus one

<comment>See Also:</comment>
   * <strong>log1p()</strong>
   * <strong>exp()</strong>


id: expression
type: function
doc:
<comment>Description:</comment>
  Bind prepared statement variables as parameters
  
  This function is
  currently not documented; only its argument list is available.

<comment>Param:</comment>
  <info>string</info>  <strong>$expression</strong>  

<comment>Return:</comment>
  <info>object</info>  


id: extension_loaded
type: function
doc:
<comment>Description:</comment>
  Find out whether an extension is loaded
  
  Finds out whether the extension is loaded.

<comment>Param:</comment>
  <info>string</info>  <strong>$extension</strong>  The extension name. This parameter is case-insensitive.
                      
                      You can see the names of various extensions by using <strong>phpinfo()</strong> or if you're
                      using the <return>CGI</return> or <return>CLI</return> version of PHP you can use the -m switch to list all
                      available extensions:

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the extension identified by <strong>$extension</strong> is loaded, <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>get_loaded_extensions()</strong>
   * <strong>get_extension_funcs()</strong>
   * <strong>phpinfo()</strong>
   * <strong>dl()</strong>
   * <strong>function_exists()</strong>


id: extract
type: function
doc:
<comment>Description:</comment>
  Import variables into the current symbol table from an array
  
  Import variables from an array into the current symbol table.
  
  Checks each key to see whether it has a valid variable name.  It also checks for collisions with
  existing variables in the symbol table.
  
  Do not use <strong>extract()</strong> on untrusted data, like user input (e.g. $_GET, $_FILES).

<comment>Param:</comment>
  <info>array</info>   <strong>$array</strong>   An associative array. This function treats keys as variable names and values as
                   variable values.  For each key/value pair it will create a variable in the
                   current symbol table, subject to <strong>$flags</strong> and <strong>$prefix</strong> parameters.
                   
                   You must use an associative array; a numerically indexed array will not produce
                   results unless you use <info>EXTR_PREFIX_ALL</info> or <info>EXTR_PREFIX_INVALID</info>.
  <info>int</info>     <strong>$flags</strong>   The way invalid/numeric keys and collisions are treated is determined by the
                   extraction <strong>$flags</strong>. It can be one of the following values: <info>EXTR_OVERWRITE</info> If there
                   is a collision, overwrite the existing variable. <info>EXTR_SKIP</info> If there is a
                   collision, don't overwrite the existing variable. <info>EXTR_PREFIX_SAME</info>If there is a
                   collision, prefix the variable name with <strong>$prefix</strong>. <info>EXTR_PREFIX_ALL</info> Prefix all
                   variable names with <strong>$prefix</strong>. <info>EXTR_PREFIX_INVALID</info> Only prefix invalid/numeric
                   variable names with <strong>$prefix</strong>. <info>EXTR_IF_EXISTS</info> Only overwrite the variable if it
                   already exists in the current symbol table, otherwise do nothing.  This is useful
                   for defining a list of valid variables and then extracting only those variables
                   you have defined out of $_REQUEST, for example. <info>EXTR_PREFIX_IF_EXISTS</info> Only create
                   prefixed variable names if the non-prefixed version of the same variable exists
                   in the current symbol table. <info>EXTR_REFS</info> Extracts variables as references. This
                   effectively means that the values of the imported variables are still referencing
                   the values of the <strong>$array</strong> parameter. You can use this flag on its own or combine
                   it with any other flag by OR'ing the <strong>$flags</strong>.
                   
                   If there is a collision, overwrite the existing variable.
                   
                   If there is a collision, don't overwrite the existing variable.
                   
                   If there is a collision, prefix the variable name with <strong>$prefix</strong>.
                   
                   Prefix all variable names with <strong>$prefix</strong>.
                   
                   Only prefix invalid/numeric variable names with <strong>$prefix</strong>.
                   
                   Only overwrite the variable if it already exists in the current symbol table,
                   otherwise do nothing.  This is useful for defining a list of valid variables and
                   then extracting only those variables you have defined out of $_REQUEST, for
                   example.
                   
                   Only create prefixed variable names if the non-prefixed version of the same
                   variable exists in the current symbol table.
                   
                   Extracts variables as references. This effectively means that the values of the
                   imported variables are still referencing the values of the <strong>$array</strong> parameter. You
                   can use this flag on its own or combine it with any other flag by OR'ing the
                   <strong>$flags</strong>.
                   
                   If <strong>$flags</strong> is not specified, it is assumed to be <info>EXTR_OVERWRITE</info>.
  <info>string</info>  <strong>$prefix</strong>  If there is a collision, prefix the variable name with <strong>$prefix</strong>.
  <info>string</info>  <strong>$prefix</strong>  Prefix all variable names with <strong>$prefix</strong>.
  <info>string</info>  <strong>$prefix</strong>  Only prefix invalid/numeric variable names with <strong>$prefix</strong>.
  <info>array</info>   <strong>$array</strong>   Extracts variables as references. This effectively means that the values of the
                   imported variables are still referencing the values of the <strong>$array</strong> parameter. You
                   can use this flag on its own or combine it with any other flag by OR'ing the
                   <strong>$flags</strong>.
  <info>string</info>  <strong>$prefix</strong>  Note that <strong>$prefix</strong> is only required if <strong>$flags</strong> is <info>EXTR_PREFIX_SAME</info>,
                   <info>EXTR_PREFIX_ALL</info>, <info>EXTR_PREFIX_INVALID</info> or <info>EXTR_PREFIX_IF_EXISTS</info>. If the prefixed
                   result is not a valid variable name, it is not imported into the symbol table.
                   Prefixes are automatically separated from the array key by an underscore
                   character.

<comment>Return:</comment>
  <info>int</info>  Returns the number of variables successfully imported into the symbol table.

<comment>See Also:</comment>
   * <strong>compact()</strong>
   * <strong>list()</strong>


id: ezmlm_hash
type: function
doc:
<comment>Description:</comment>
  Calculate the hash value needed by EZMLM
  
  <strong>ezmlm_hash()</strong> calculates the hash value needed when keeping EZMLM mailing lists in a MySQL
  database.

<comment>Param:</comment>
  <info>string</info>  <strong>$addr</strong>  The email address that's being hashed.

<comment>Return:</comment>
  <info>int</info>  The hash value of <strong>$addr</strong>.


id: fann_cascadetrain_on_data
type: function
doc:
<comment>Description:</comment>
  Trains on an entire dataset, for a period of time using the Cascade2 training algorithm
  
  The cascade output change fraction is a number between 0 and 1 determining how large a fraction
  the <strong>fann_get_MSE()</strong> value should change within <strong>fann_get_cascade_output_stagnation_epochs()</strong> during
  training of the output connections, in order for the training not to stagnate.  If the training
  stagnates, the training of the output connections will be ended and new candidates will be
  prepared.
  
  This training uses the parameters set using the fann_set_cascade_..., but it also uses another
  training algorithm as it’s internal training algorithm. This algorithm can be set to either
  <info>FANN_TRAIN_RPROP</info> or <info>FANN_TRAIN_QUICKPROP</info> by <strong>fann_set_training_algorithm()</strong>, and the parameters set
  for these training algorithms will also affect the cascade training.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                      Neural network <info>resource</info>.
  <info>resource</info>  <strong>$data</strong>                     Neural network training data <info>resource</info>.
  <info>int</info>       <strong>$max_neurons</strong>              The maximum number of neurons to be added to neural network.
  <info>int</info>       <strong>$neurons_between_reports</strong>  The number of neurons between printing a status report. A
                                      value of zero means no reports should be printed.
  <info>float</info>     <strong>$desired_error</strong>            The desired <strong>fann_get_MSE()</strong> or <strong>fann_get_bit_fail()</strong>, depending
                                      on which stop function is chosen by
                                      <strong>fann_set_train_stop_function()</strong>

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_train_on_data()</strong>
   * <strong>fann_cascadetrain_on_file()</strong>


id: fann_cascadetrain_on_file
type: function
doc:
<comment>Description:</comment>
  Trains on an entire dataset read from file, for a period of time using the Cascade2 training
  algorithm
  
  Does the same as <strong>fann_cascadetrain_on_data()</strong>, but reads the training data directly from a file.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                      Neural network <info>resource</info>.
  <info>string</info>    <strong>$filename</strong>                 A file containing the data for training.
  <info>int</info>       <strong>$max_neurons</strong>              The maximum number of neurons to be added to neural network
  <info>int</info>       <strong>$neurons_between_reports</strong>  The number of neurons between printing a status report. A
                                      value of zero means no reports should be printed.
  <info>float</info>     <strong>$desired_error</strong>            The desired <strong>fann_get_MSE()</strong> or <strong>fann_get_bit_fail()</strong>, depending
                                      on which stop function is chosen by
                                      <strong>fann_set_train_stop_function()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_train_on_data()</strong>
   * <strong>fann_cascadetrain_on_data()</strong>


id: fann_clear_scaling_params
type: function
doc:
<comment>Description:</comment>
  Clears scaling parameters
  
  Clears scaling parameters.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.


id: fann_copy
type: function
doc:
<comment>Description:</comment>
  Creates a copy of a fann structure
  
  Creates a copy of a fann structure.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>resource</info>  Returns a copy of neural network resource on success, or <info>false</info> on error

<comment>See Also:</comment>
   * <strong>fann_test()</strong>


id: fann_create_from_file
type: function
doc:
<comment>Description:</comment>
  Constructs a backpropagation neural network from a configuration file
  
  Constructs a backpropagation neural network from a configuration file, which have been saved by
  <strong>fann_save()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$configuration_file</strong>  The configuration file path.

<comment>Return:</comment>
  <info>resource</info>  Returns a neural network <info>resource</info> on success, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_save()</strong>


id: fann_create_shortcut
type: function
doc:
<comment>Description:</comment>
  Creates a standard backpropagation neural network which is not fully connectected and has shortcut
  connections
  
  Creates a standard backpropagation neural network, which is not fully connected and which also has
  shortcut connections.
  
  Shortcut connections are connections that skip layers. A fully connected network with shortcut
  connections, is a network where all neurons are connected to all neurons in later layers.
  Including direct connections from the input layer to the output layer.

<comment>Param:</comment>
  <info>int</info>  <strong>$num_layers</strong>    The total number of layers including the input and the output layer.
  <info>int</info>  <strong>$num_neurons1</strong>  Number of neurons in the first layer.
  <info>int</info>  <strong>$num_neurons2</strong>  Number of neurons in the second layer.
  <info>int</info>  <strong>$num_neuronsN</strong>  Number of neurons in other layers.

<comment>Return:</comment>
  <info>resource</info>  Returns a neural network resource on success, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_create_shortcut_array()</strong>
   * <strong>fann_create_sparse()</strong>
   * <strong>fann_create_standard()</strong>


id: fann_create_shortcut_array
type: function
doc:
<comment>Description:</comment>
  Creates a standard backpropagation neural network which is not fully connectected and has shortcut
  connections
  
  Creates a standard backpropagation neural network which is not fully connectected and has shortcut
  connections using an array of layers sizes.

<comment>Param:</comment>
  <info>int</info>    <strong>$num_layers</strong>  The total number of layers including the input and the output layer.
  <info>array</info>  <strong>$layers</strong>      An array of layers sizes.

<comment>Return:</comment>
  <info>resource</info>  Returns a neural network resource on success, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_create_shortcut()</strong>
   * <strong>fann_create_sparse()</strong>
   * <strong>fann_create_standard()</strong>


id: fann_create_sparse
type: function
doc:
<comment>Description:</comment>
  Creates a standard backpropagation neural network, which is not fully connected
  
  Creates a standard backpropagation neural network, which is not fully connected.

<comment>Param:</comment>
  <info>float</info>  <strong>$connection_rate</strong>  The connection rate controls how many connections there will be in the
                           network. If the connection rate is set to 1, the network will be fully
                           connected, but if it is set to 0.5 only half of the connections will be
                           set. A connection rate of 1 will yield the same result as
                           <strong>fann_create_standard()</strong>.
  <info>int</info>    <strong>$num_layers</strong>       The total number of layers including the input and the output layer.
  <info>int</info>    <strong>$num_neurons1</strong>     Number of neurons in the first layer.
  <info>int</info>    <strong>$num_neurons2</strong>     Number of neurons in the second layer.
  <info>int</info>    <strong>$num_neuronsN</strong>     Number of neurons in other layers.

<comment>Return:</comment>
  <info>resource</info>  Returns a neural network resource on success, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_create_sparse_array()</strong>
   * <strong>fann_create_standard()</strong>
   * <strong>fann_create_shortcut()</strong>


id: fann_create_sparse_array
type: function
doc:
<comment>Description:</comment>
  Creates a standard backpropagation neural network, which is not fully connected using an array of
  layer sizes
  
  Creates a standard backpropagation neural network, which is not fully connected using an array of
  layer sizes.

<comment>Param:</comment>
  <info>float</info>  <strong>$connection_rate</strong>  The connection rate controls how many connections there will be in the
                           network. If the connection rate is set to 1, the network will be fully
                           connected, but if it is set to 0.5 only half of the connections will be
                           set. A connection rate of 1 will yield the same result as
                           <strong>fann_create_standard()</strong>.
  <info>int</info>    <strong>$num_layers</strong>       The total number of layers including the input and the output layer.
  <info>array</info>  <strong>$layers</strong>           An array of layer sizes.

<comment>Return:</comment>
  <info>resource</info>  Returns a neural network resource on success, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_create_sparse()</strong>
   * <strong>fann_create_standard()</strong>
   * <strong>fann_create_shortcut()</strong>


id: fann_create_standard
type: function
doc:
<comment>Description:</comment>
  Creates a standard fully connected backpropagation neural network
  
  Creates a standard fully connected backpropagation neural network.
  
  There will be a bias neuron in each layer (except the output layer), and this bias neuron will be
  connected to all neurons in the next layer. When running the network, the bias nodes always emits
  1.
  
  To destroy a neural network use the <strong>fann_destroy()</strong> function.

<comment>Param:</comment>
  <info>int</info>  <strong>$num_layers</strong>    The total number of layers including the input and the output layer.
  <info>int</info>  <strong>$num_neurons1</strong>  Number of neurons in the first layer.
  <info>int</info>  <strong>$num_neurons2</strong>  Number of neurons in the second layer.
  <info>int</info>  <strong>$num_neuronsN</strong>  Number of neurons in other layers.

<comment>Return:</comment>
  <info>resource</info>  Returns a neural network resource on success, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_create_standard_array()</strong>
   * <strong>fann_create_sparse()</strong>
   * <strong>fann_create_shortcut()</strong>


id: fann_create_standard_array
type: function
doc:
<comment>Description:</comment>
  Creates a standard fully connected backpropagation neural network using an array of layer sizes
  
  Creates a standard fully connected backpropagation neural network.
  
  There will be a bias neuron in each layer (except the output layer), and this bias neuron will be
  connected to all neurons in the next layer. When running the network, the bias nodes always emits
  1.
  
  To destroy a neural network use the <strong>fann_destroy()</strong> function.

<comment>Param:</comment>
  <info>int</info>    <strong>$num_layers</strong>  The total number of layers including the input and the output layer.
  <info>array</info>  <strong>$layers</strong>      An array of layer sizes.

<comment>Return:</comment>
  <info>resource</info>  Returns a neural network resource on success, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_create_standard()</strong>
   * <strong>fann_create_sparse()</strong>
   * <strong>fann_create_shortcut()</strong>


id: fann_create_train
type: function
doc:
<comment>Description:</comment>
  Creates an empty training data struct
  
  Creates an empty training data struct.

<comment>Param:</comment>
  <info>int</info>  <strong>$num_data</strong>    The number of training data
  <info>int</info>  <strong>$num_input</strong>   The number of inputs per training data
  <info>int</info>  <strong>$num_output</strong>  The number of ouputs per training data

<comment>Return:</comment>
  <info>resource</info>  Returns a train data <info>resource</info> on success, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_read_train_from_file()</strong>
   * <strong>fann_train_on_data()</strong>
   * <strong>fann_destroy_train()</strong>
   * <strong>fann_save_train()</strong>


id: fann_create_train_from_callback
type: function
doc:
<comment>Description:</comment>
  Creates the training data struct from a user supplied function
  
  Creates the training data struct from a user supplied function. As the training data are numerable
  (data 1, data 2...), the user must write a function that receives the number of the training data
  set (input, output) and returns the set.

<comment>Param:</comment>
  <info>int</info>       <strong>$num_data</strong>       The number of training data
  <info>int</info>       <strong>$num_input</strong>      The number of inputs per training data
  <info>int</info>       <strong>$num_output</strong>     The number of ouputs per training data
  <info>callable</info>  <strong>$user_function</strong>  The user supplied function with following parameters: <return>num</return> - The number
                            of the training data set<return>num_input</return> - The number of inputs per training
                            data<return>num_output</return> - The number of ouputs per training data
                            
                            The function should return an associative array with keys <return>input</return> and
                            <return>output</return> and two array values of input and output.

<comment>Return:</comment>
  <info>resource</info>  Returns a train data <info>resource</info> on success, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_read_train_from_file()</strong>
   * <strong>fann_train_on_data()</strong>
   * <strong>fann_destroy_train()</strong>
   * <strong>fann_save_train()</strong>


id: fann_descale_input
type: function
doc:
<comment>Description:</comment>
  Scale data in input vector after get it from ann based on previously calculated parameters
  
  Scale data in input vector after get it from ann based on previously calculated parameters.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>           Neural network <info>resource</info>.
  <info>array</info>     <strong>$input_vector</strong>  Input vector that will be descaled

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_scale_input()</strong>
   * <strong>fann_descale_output()</strong>


id: fann_descale_output
type: function
doc:
<comment>Description:</comment>
  Scale data in output vector after get it from ann based on previously calculated parameters
  
  Scale data in output vector after get it from ann based on previously calculated parameters.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>            Neural network <info>resource</info>.
  <info>array</info>     <strong>$output_vector</strong>  Output vector that will be descaled

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_scale_output()</strong>
   * <strong>fann_descale_input()</strong>


id: fann_descale_train
type: function
doc:
<comment>Description:</comment>
  Descale input and output data based on previously calculated parameters
  
  Descale input and output data based on previously calculated parameters.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>         Neural network <info>resource</info>.
  <info>resource</info>  <strong>$train_data</strong>  Neural network training data <info>resource</info>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_scale_train()</strong>
   * <strong>fann_set_scaling_params()</strong>


id: fann_destroy
type: function
doc:
<comment>Description:</comment>
  Destroys the entire network and properly freeing all the associated memory
  
  Destroys the entire network and properly freeing all the associated memory.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.


id: fann_destroy_train
type: function
doc:
<comment>Description:</comment>
  Destructs the training data
  
  Destructs the training data

<comment>Param:</comment>
  <info>resource</info>  <strong>$train_data</strong>  Neural network training data <info>resource</info>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.


id: fann_duplicate_train_data
type: function
doc:
<comment>Description:</comment>
  Returns an exact copy of a fann train data
  
  Returns an exact copy of a fann train data <info>resource</info>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$data</strong>  Neural network training data <info>resource</info>.

<comment>Return:</comment>
  <info>resource</info>  Returns a train data <info>resource</info> on success, or <info>false</info> on error.


id: fann_get_MSE
type: function
doc:
<comment>Description:</comment>
  Reads the mean square error from the network
  
  Reads the mean square error from the network.
  
  Reads the mean square error from the network. This value is calculated during training or testing
  and can therefore sometimes be a bit off if the weights have been changed since the last
  calculation of the value.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>float</info>  The mean square error, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_test_data()</strong>


id: fann_get_activation_function
type: function
doc:
<comment>Description:</comment>
  Returns the activation function
  
  Get the activation function for neuron number <return>neuron</return> in layer number <return>layer</return>, counting the input
  layer as layer 0.
  
  It is not possible to get activation functions for the neurons in the input layer.
  
  The return value is one of the activation functions constants.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>     Neural network <info>resource</info>.
  <info>int</info>       <strong>$layer</strong>   Layer number.
  <info>int</info>       <strong>$neuron</strong>  Neuron number.

<comment>Return:</comment>
  <info>int</info>  Learning functions constant or -1 if the neuron is not defined in the neural network, or
       <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_activation_function_layer()</strong>
   * <strong>fann_set_activation_function_hidden()</strong>
   * <strong>fann_set_activation_function_output()</strong>
   * <strong>fann_set_activation_steepness()</strong>
   * <strong>fann_set_activation_function()</strong>


id: fann_get_activation_steepness
type: function
doc:
<comment>Description:</comment>
  Returns the activation steepness for supplied neuron and layer number
  
  Get the activation steepness for neuron number <return>neuron</return> in layer number <return>layer</return>, counting the input
  layer as layer 0.
  
  It is not possible to get activation steepness for the neurons in the input layer.
  
  The steepness of an activation function says something about how fast the activation function goes
  from the minimum to the maximum.  A high value for the activation function will also give a more
  aggressive training.
  
  When training neural networks where the output values should be at the extremes (usually 0 and 1,
  depending on the activation function), a steep activation function can be used (e.g.  1.0).
  
  The default activation steepness is 0.5.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>     Neural network <info>resource</info>.
  <info>int</info>       <strong>$layer</strong>   Layer number
  <info>int</info>       <strong>$neuron</strong>  Neuron number

<comment>Return:</comment>
  <info>float</info>  The activation steepness for the neuron or -1 if the neuron is not defined in the neural
         network, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_activation_function()</strong>
   * <strong>fann_set_activation_steepness_layer()</strong>
   * <strong>fann_set_activation_steepness_hidden()</strong>
   * <strong>fann_set_activation_steepness_output()</strong>
   * <strong>fann_set_activation_steepness()</strong>


id: fann_get_bias_array
type: function
doc:
<comment>Description:</comment>
  Get the number of bias in each layer in the network
  
  Get the number of bias in each layer in the network.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>array</info>  An array of numbers of bias in each layer


id: fann_get_bit_fail
type: function
doc:
<comment>Description:</comment>
  The number of fail bits
  
  The number of fail bits; means the number of output neurons which differ more than the bit fail
  limit (see <strong>fann_get_bit_fail_limit()</strong>, <strong>fann_set_bit_fail_limit()</strong>). The bits are counted in all of
  the training data, so this number can be higher than the number of training data.
  
  This value is reset by <strong>fann_reset_MSE()</strong> and updated by all the same functions which also updates
  the MSE value (e.g. <strong>fann_test_data()</strong>, <strong>fann_train_epoch()</strong>)

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>int</info>  The number of bits fail, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_get_MSE()</strong>
   * <strong>fann_reset_MSE()</strong>
   * <strong>fann_test_data()</strong>
   * <strong>fann_train_epoch()</strong>
   * <strong>fann_get_bit_fail_limit()</strong>
   * <strong>fann_set_bit_fail_limit()</strong>


id: fann_get_bit_fail_limit
type: function
doc:
<comment>Description:</comment>
  Returns the bit fail limit used during training
  
  Returns the bit fail limit used during training.
  
  The bit fail limit is used during training where the stop function is set to <info>FANN_STOPFUNC_BIT</info>.
  
  The limit is the maximum accepted difference between the desired output and the actual output
  during training. Each output that diverges more than this limit is counted as an error bit. This
  difference is divided by two when dealing with symmetric activation functions, so that symmetric
  and not symmetric activation functions can use the same limit.
  
  The default bit fail limit is 0.35.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>float</info>  The bit fail limit, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_bit_fail_limit()</strong>


id: fann_get_cascade_activation_functions
type: function
doc:
<comment>Description:</comment>
  Returns the cascade activation functions
  
  The cascade activation functions array is an array of the different activation functions used by
  the candidates
  
  See <strong>fann_get_cascade_num_candidates()</strong> for a description of which candidate neurons will be
  generated by this array.
  
  The default activation functions are <info>FANN_SIGMOID</info>, <info>FANN_SIGMOID_SYMMETRIC</info>, <info>FANN_GAUSSIAN</info>,
  <info>FANN_GAUSSIAN_SYMMETRIC</info>, <info>FANN_ELLIOT</info>, <info>FANN_ELLIOT_SYMMETRIC</info>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>array</info>  The cascade activation functions, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_get_cascade_activation_functions_count()</strong>
   * <strong>fann_set_cascade_activation_functions()</strong>


id: fann_get_cascade_activation_functions_count
type: function
doc:
<comment>Description:</comment>
  Returns the number of cascade activation functions
  
  The number of activation functions in the <strong>fann_get_cascade_activation_functions()</strong> array.
  
  The default number of activation functions is 6.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>int</info>  The number of cascade activation functions, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_get_cascade_activation_functions()</strong>
   * <strong>fann_set_cascade_activation_functions()</strong>


id: fann_get_cascade_activation_steepnesses
type: function
doc:
<comment>Description:</comment>
  Returns the cascade activation steepnesses
  
  The cascade activation steepnesses array is an array of the different activation functions used by
  the candidates.
  
  See <strong>fann_get_cascade_num_candidates()</strong> for a description of which candidate neurons will be
  generated by this array.
  
  The default activation steepnesses are {0.25, 0.50, 0.75, 1.00}.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>array</info>  The cascade activation steepnesses, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_get_cascade_activation_steepnesses_count()</strong>
   * <strong>fann_set_cascade_activation_steepnesses()</strong>


id: fann_get_cascade_activation_steepnesses_count
type: function
doc:
<comment>Description:</comment>
  The number of activation steepnesses
  
  The number of activation steepnesses in the <strong>fann_get_cascade_activation_functions()</strong> array.
  
  The default number of activation steepnesses is 4.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>int</info>  The number of activation steepnesses, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_get_cascade_activation_steepnesses()</strong>
   * <strong>fann_set_cascade_activation_functions()</strong>


id: fann_get_cascade_candidate_change_fraction
type: function
doc:
<comment>Description:</comment>
  Returns the cascade candidate change fraction
  
  The cascade candidate change fraction is a number between 0 and 1 determining how large a fraction
  the <strong>fann_get_MSE()</strong> value should change within <strong>fann_get_cascade_candidate_stagnation_epochs()</strong>
  during training of the candidate neurons, in order for the training not to stagnate. If the
  training stagnates, the training of the candidate neurons will be ended and the best candidate
  will be selected.
  
  It means that if the MSE does not change by a fraction of
  <strong>fann_get_cascade_candidate_change_fraction()</strong> during a period of
  <strong>fann_get_cascade_candidate_stagnation_epochs()</strong>, the training of the candidate neurons is stopped
  because the training has stagnated.
  
  If the cascade candidate change fraction is low, the candidate neurons will be trained more and if
  the fraction is high they will be trained less.
  
  The default cascade candidate change fraction is 0.01, which is equalent to a 1% change in MSE.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>float</info>  The cascade candidate change fraction, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_cascade_candidate_change_fraction()</strong>
   * <strong>fann_get_MSE()</strong>
   * <strong>fann_get_cascade_candidate_stagnation_epochs()</strong>


id: fann_get_cascade_candidate_limit
type: function
doc:
<comment>Description:</comment>
  Return the candidate limit
  
  The candidate limit is a limit for how much the candidate neuron may be trained. The limit is a
  limit on the proportion between the MSE and candidate score.
  
  Set this to a lower value to avoid overfitting and to a higher if overfitting is not a problem.
  
  The default candidate limit is 1000.0.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>float</info>  The candidate limit, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_cascade_candidate_limit()</strong>


id: fann_get_cascade_candidate_stagnation_epochs
type: function
doc:
<comment>Description:</comment>
  Returns the number of cascade candidate stagnation epochs
  
  The number of cascade candidate stagnation epochs determines the number of epochs training is
  allowed to continue without changing the MSE by a fraction of
  <strong>fann_get_cascade_candidate_change_fraction()</strong>.
  
  See more info about this parameter in <strong>fann_get_cascade_candidate_change_fraction()</strong>.
  
  The default number of cascade candidate stagnation epochs is 12.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>int</info>  The number of cascade candidate stagnation epochs, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_cascade_candidate_stagnation_epochs()</strong>
   * <strong>fann_get_cascade_candidate_change_fraction()</strong>


id: fann_get_cascade_max_cand_epochs
type: function
doc:
<comment>Description:</comment>
  Returns the maximum candidate epochs
  
  The maximum candidate epochs determines the maximum number of epochs the input connections to the
  candidates may be trained before adding a new candidate neuron.
  
  The default max candidate epochs is 150.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>int</info>  The maximum candidate epochs, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_cascade_max_cand_epochs()</strong>


id: fann_get_cascade_max_out_epochs
type: function
doc:
<comment>Description:</comment>
  Returns the maximum out epochs
  
  The maximum out epochs determines the maximum number of epochs the output connections may be
  trained after adding a new candidate neuron.
  
  The default max out epochs is 150.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>int</info>  The maximum out epochs, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_cascade_max_out_epochs()</strong>


id: fann_get_cascade_min_cand_epochs
type: function
doc:
<comment>Description:</comment>
  Returns the minimum candidate epochs
  
  The minimum candidate epochs determines the minimum number of epochs the input connections to the
  candidates may be trained before adding a new candidate neuron.
  
  The default min candidate epochs is 50.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>int</info>  The minimum candidate epochs, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_cascade_min_cand_epochs()</strong>


id: fann_get_cascade_min_out_epochs
type: function
doc:
<comment>Description:</comment>
  Returns the minimum out epochs
  
  The minimum out epochs determines the minimum number of epochs the output connections must be
  trained after adding a new candidate neuron.
  
  The default min out epochs is 50.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>int</info>  The minimum out epochs, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_cascade_min_out_epochs()</strong>


id: fann_get_cascade_num_candidate_groups
type: function
doc:
<comment>Description:</comment>
  Returns the number of candidate groups
  
  The number of candidate groups is the number of groups of identical candidates which will be used
  during training.
  
  This number can be used to have more candidates without having to define new parameters for the
  candidates.
  
  See <strong>fann_get_cascade_num_candidates()</strong> for a description of which candidate neurons will be
  generated by this parameter.
  
  The default number of candidate groups is 2.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>int</info>  The number of candidate groups, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_cascade_num_candidate_groups()</strong>


id: fann_get_cascade_num_candidates
type: function
doc:
<comment>Description:</comment>
  Returns the number of candidates used during training
  
  The number of candidates used during training (calculated by multiplying
  <strong>fann_get_cascade_activation_functions_count()</strong>, <strong>fann_get_cascade_activation_steepnesses_count()</strong> and
  <strong>fann_get_cascade_num_candidate_groups()</strong>).
  
  The actual candidates is defined by the <strong>fann_get_cascade_activation_functions()</strong> and
  <strong>fann_get_cascade_activation_steepnesses()</strong> arrays. These arrays define the activation functions and
  activation steepnesses used for the candidate neurons. If there are 2 activation functions in the
  activation function array and 3 steepnesses in the steepness array, then there will be 2x3=6
  different candidates which will be trained. These 6 different candidates can be copied into
  several candidate groups, where the only difference between these groups is the initial weights.
  If the number of groups is set to 2, then the number of candidate neurons will be 2x3x2=12. The
  number of candidate groups is defined by <strong>fann_set_cascade_num_candidate_groups()</strong>.
  
  The default number of candidates is 6x4x2 = 48

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>int</info>  The number of candidates used during training, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_get_cascade_activation_functions()</strong>
   * <strong>fann_get_cascade_activation_functions_count()</strong>
   * <strong>fann_get_cascade_activation_steepnesses()</strong>
   * <strong>fann_get_cascade_activation_steepnesses_count()</strong>
   * <strong>fann_get_cascade_num_candidate_groups()</strong>


id: fann_get_cascade_output_change_fraction
type: function
doc:
<comment>Description:</comment>
  Returns the cascade output change fraction
  
  The cascade output change fraction is a number between 0 and 1 determining how large a fraction of
  the <strong>fann_get_MSE()</strong> value should change within <strong>fann_get_cascade_output_stagnation_epochs()</strong> during
  training of the output connections, in order for the training not to stagnate. If the training
  stagnates, the training of the output connections will be ended and new candidates will be
  prepared.
  
  It means that if the MSE does not change by a fraction of
  <strong>fann_get_cascade_output_change_fraction()</strong> during a period of
  <strong>fann_get_cascade_output_stagnation_epochs()</strong>, the training of the output connections is stopped
  because the training has stagnated.
  
  If the cascade output change fraction is low, the output connections will be trained more and if
  the fraction is high, they will be trained less.
  
  The default cascade output change fraction is 0.01, which is equalent to a 1% change in MSE.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>float</info>  The cascade output change fraction, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_cascade_output_change_fraction()</strong>
   * <strong>fann_get_MSE()</strong>
   * <strong>fann_get_cascade_output_stagnation_epochs()</strong>


id: fann_get_cascade_output_stagnation_epochs
type: function
doc:
<comment>Description:</comment>
  Returns the number of cascade output stagnation epochs
  
  The number of cascade output stagnation epochs determines the number of epochs training is allowed
  to continue without changing the MSE by a fraction of <strong>fann_get_cascade_output_change_fraction()</strong>.
  
  See more info about this parameter in <strong>fann_get_cascade_output_change_fraction()</strong>.
  
  The default number of cascade output stagnation epochs is 12.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>int</info>  The number of cascade output stagnation epochs, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_cascade_output_stagnation_epochs()</strong>
   * <strong>fann_get_cascade_output_change_fraction()</strong>


id: fann_get_cascade_weight_multiplier
type: function
doc:
<comment>Description:</comment>
  Returns the weight multiplier
  
  The weight multiplier is a parameter which is used to multiply the weights from the candidate
  neuron before adding the neuron to the neural network. This parameter is usually between 0 and 1,
  and is used to make the training a bit less aggressive.
  
  The default weight multiplier is 0.4.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>float</info>  The weight multiplier, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_cascade_weight_multiplier()</strong>


id: fann_get_connection_array
type: function
doc:
<comment>Description:</comment>
  Get connections in the network
  
  Get connections in the network.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>array</info>  An array of connections in the network


id: fann_get_connection_rate
type: function
doc:
<comment>Description:</comment>
  Get the connection rate used when the network was created
  
  Get the connection rate used when the network was created.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>float</info>  The connection rate used when the network was created, or <info>false</info> on error.


id: fann_get_errno
type: function
doc:
<comment>Description:</comment>
  Returns the last error number
  
  Returns the last error number.

<comment>Param:</comment>
  <info>resource</info>  <strong>$errdat</strong>  Either neural network <info>resource</info> or neural network trainining data <info>resource</info>.

<comment>Return:</comment>
  <info>int</info>  The error number, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_reset_errno()</strong>
   * <strong>fann_get_errstr()</strong>


id: fann_get_errstr
type: function
doc:
<comment>Description:</comment>
  Returns the last errstr
  
  Returns the last errstr.

<comment>Param:</comment>
  <info>resource</info>  <strong>$errdat</strong>  Either neural network <info>resource</info> or neural network trainining data <info>resource</info>.

<comment>Return:</comment>
  <info>string</info>  The last error string, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_reset_errstr()</strong>
   * <strong>fann_get_errno()</strong>


id: fann_get_layer_array
type: function
doc:
<comment>Description:</comment>
  Get the number of neurons in each layer in the network
  
  Get the number of neurons in each layer in the neural network.
  
  Bias is not included so the layers match the fann_create functions.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>array</info>  An array of numbers of neurons in each leayer


id: fann_get_learning_momentum
type: function
doc:
<comment>Description:</comment>
  Returns the learning momentum
  
  The learning momentum can be used to speed up <info>FANN_TRAIN_INCREMENTAL</info> training. A too high momentum
  will however not benefit training. Setting momentum to 0 will be the same as not using the
  momentum parameter. The recommended value of this parameter is between 0.0 and 1.0.
  
  The default momentum is 0.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>float</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.
         
         The learning momentum, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_learning_momentum()</strong>
   * <strong>fann_set_training_algorithm()</strong>


id: fann_get_learning_rate
type: function
doc:
<comment>Description:</comment>
  Returns the learning rate
  
  The learning rate is used to determine how aggressive training should be for some of the training
  algorithms (<info>FANN_TRAIN_INCREMENTAL</info>, <info>FANN_TRAIN_BATCH</info>, <info>FANN_TRAIN_QUICKPROP</info>). Do however note that
  it is not used in <info>FANN_TRAIN_RPROP</info>.
  
  The default learning rate is 0.7.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>float</info>  The learning rate, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_learning_rate()</strong>
   * <strong>fann_set_training_algorithm()</strong>


id: fann_get_network_type
type: function
doc:
<comment>Description:</comment>
  Get the type of neural network it was created as
  
  Get the type of neural network it was created as.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>int</info>  Network type constant, or <info>false</info> on error.


id: fann_get_num_input
type: function
doc:
<comment>Description:</comment>
  Get the number of input neurons
  
  Get the number of input neurons.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>int</info>  Number of input neurons, or <info>false</info> on error


id: fann_get_num_layers
type: function
doc:
<comment>Description:</comment>
  Get the number of layers in the neural network
  
  Get the number of layers in the neural network.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>int</info>  The number of leayers in the neural network, or <info>false</info> on error.


id: fann_get_num_output
type: function
doc:
<comment>Description:</comment>
  Get the number of output neurons
  
  Get the number of output neurons.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>int</info>  Number of output neurons, or <info>false</info> on error


id: fann_get_quickprop_decay
type: function
doc:
<comment>Description:</comment>
  Returns the decay which is a factor that weights should decrease in each iteration during
  quickprop
  training
  
  The decay is a small negative valued number which is a factor that the weights should decrease in
  each iteration during quickprop training. This is used to make sure that the weights do not become
  too high during training.
  
  The default decay is -0.0001.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>float</info>  The decay, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_quickprop_decay()</strong>


id: fann_get_quickprop_mu
type: function
doc:
<comment>Description:</comment>
  Returns the mu factor
  
  The mu factor is used to increase and decrease the step-size during quickprop training. The mu
  factor should always be above 1, since it would otherwise decrease the step-size when it was
  suppose to increase it.
  
  The default mu factor is 1.75.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>float</info>  The mu factor, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_quickprop_mu()</strong>


id: fann_get_rprop_decrease_factor
type: function
doc:
<comment>Description:</comment>
  Returns the increase factor used during RPROP training
  
  The decrease factor is a value smaller than 1, which is used to decrease the step-size during
  RPROP training.
  
  The default decrease factor is 0.5.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>float</info>  The decrease factor, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_rprop_decrease_factor()</strong>


id: fann_get_rprop_delta_max
type: function
doc:
<comment>Description:</comment>
  Returns the maximum step-size
  
  The maximum step-size is a positive number determining how large the maximum step-size may be.
  
  The default delta max is 50.0.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>float</info>  The maximum step-size, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_rprop_delta_max()</strong>
   * <strong>fann_get_rprop_delta_min()</strong>


id: fann_get_rprop_delta_min
type: function
doc:
<comment>Description:</comment>
  Returns the minimum step-size
  
  The minimum step-size is a small positive number determining how small the minimum step-size may
  be.
  
  The default value delta min is 0.0.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>float</info>  The minimum step-size, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_rprop_delta_min()</strong>


id: fann_get_rprop_delta_zero
type: function
doc:
<comment>Description:</comment>
  Returns the initial step-size
  
  The initial step-size is a positive number determining the initial step size.
  
  The default delta zero is 0.1.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>int</info>  The initial step-size, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_rprop_delta_zero()</strong>
   * <strong>fann_get_rprop_delta_min()</strong>
   * <strong>fann_get_rprop_delta_max()</strong>


id: fann_get_rprop_increase_factor
type: function
doc:
<comment>Description:</comment>
  Returns the increase factor used during RPROP training
  
  The increase factor is a value larger than 1, which is used to increase the step-size during RPROP
  training.
  
  The default increase factor is 1.2.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>float</info>  The increase factor, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_rprop_increase_factor()</strong>


id: fann_get_sarprop_step_error_shift
type: function
doc:
<comment>Description:</comment>
  Returns the sarprop step error shift
  
  Returns the sarprop step error shift.
  
  The default step error shift is 1.385.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>float</info>  The sarprop step error shift , or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_sarprop_step_error_shift()</strong>


id: fann_get_sarprop_step_error_threshold_factor
type: function
doc:
<comment>Description:</comment>
  Returns the sarprop step error threshold factor
  
  The sarprop step error threshold factor.
  
  The default factor is 0.1.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>float</info>  The sarprop step error threshold factor, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_sarprop_step_error_threshold_factor()</strong>


id: fann_get_sarprop_temperature
type: function
doc:
<comment>Description:</comment>
  Returns the sarprop temperature
  
  Returns the sarprop temperature.
  
  The default temperature is 0.015.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>float</info>  The sarprop temperature, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_sarprop_temperature()</strong>


id: fann_get_sarprop_weight_decay_shift
type: function
doc:
<comment>Description:</comment>
  Returns the sarprop weight decay shift
  
  The sarprop weight decay shift.
  
  The default delta max is -6.644.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>float</info>  The sarprop weight decay shift, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_sarprop_weight_decay_shift()</strong>


id: fann_get_total_connections
type: function
doc:
<comment>Description:</comment>
  Get the total number of connections in the entire network
  
  Get the total number of connections in the entire network.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>int</info>  Total number of connections in the entire network, or <info>false</info> on error


id: fann_get_total_neurons
type: function
doc:
<comment>Description:</comment>
  Get the total number of neurons in the entire network
  
  Get the total number of neurons in the entire network. This number does also include the bias
  neurons, so a 2-4-2 network has 2+4+2 +2(bias) = 10 neurons.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>int</info>  Total number of neurons in the entire network, or <info>false</info> on error.


id: fann_get_train_error_function
type: function
doc:
<comment>Description:</comment>
  Returns the error function used during training
  
  Returns the error function used during training.
  
  The error functions are described further in error functions constants.
  
  The default error function is <info>FANN_ERRORFUNC_TANH</info>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>int</info>  The error function constant, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_train_error_function()</strong>


id: fann_get_train_stop_function
type: function
doc:
<comment>Description:</comment>
  Returns the stop function used during training
  
  Returns the stop function used during training.
  
  The stop functions are described further in stop functions constants.
  
  The default stop function is <info>FANN_STOPFUNC_MSE</info>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>int</info>  The stop function constant, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_train_stop_function()</strong>


id: fann_get_training_algorithm
type: function
doc:
<comment>Description:</comment>
  Returns the training algorithm
  
  Returns the training algorithm. This training algorithm is used by <strong>fann_train_on_data()</strong> and
  associated functions.
  
  Note that this algorithm is also used during <strong>fann_cascadetrain_on_data()</strong>, although only
  <info>FANN_TRAIN_RPROP</info> and <info>FANN_TRAIN_QUICKPROP</info> is allowed during cascade training.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>int</info>  Training algorithm constant, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_set_training_algorithm()</strong>


id: fann_init_weights
type: function
doc:
<comment>Description:</comment>
  Initialize the weights using Widrow + Nguyen’s algorithm
  
  Initialize the weights using Widrow + Nguyen’s algorithm.
  
  This function behaves similarly to <strong>fann_randomize_weights()</strong>. It will use the algorithm developed
  by Derrick Nguyen and Bernard Widrow to set the weights in such a way as to speed up training.
  This technique is not always successful, and in some cases can be less efficient than a purely
  random initialization.
  
  The algorithm requires access to the range of the input data (for example largest and smallest
  input), and therefore accepts a second argument, data, which is the training data that will be
  used to train the network.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>         Neural network <info>resource</info>.
  <info>resource</info>  <strong>$train_data</strong>  Neural network training data <info>resource</info>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_randomize_weights()</strong>
   * <strong>fann_read_train_from_file()</strong>


id: fann_length_train_data
type: function
doc:
<comment>Description:</comment>
  Returns the number of training patterns in the train data
  
  Returns the number of training patterns in the train data <info>resource</info>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$data</strong>  Neural network training data <info>resource</info>.

<comment>Return:</comment>
  <info>int</info>  Number of elements in the train data <info>resource</info>, or <info>false</info> on error.


id: fann_merge_train_data
type: function
doc:
<comment>Description:</comment>
  Merges the train data
  
  Merges the data from data1 and data2 into a new train data <info>resource</info>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$data1</strong>  Neural network training data <info>resource</info>.
  <info>resource</info>  <strong>$data2</strong>  Neural network training data <info>resource</info>.

<comment>Return:</comment>
  <info>resource</info>  New merged train data <info>resource</info>, or <info>false</info> on error.


id: fann_num_input_train_data
type: function
doc:
<comment>Description:</comment>
  Returns the number of inputs in each of the training patterns in the train data
  
  Returns the number of inputs in each of the training patterns in the train data <info>resource</info>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$data</strong>  Neural network training data <info>resource</info>.

<comment>Return:</comment>
  <info>int</info>  The number of inputs, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_length_train_data()</strong>
   * <strong>fann_num_output_train_data()</strong>


id: fann_num_output_train_data
type: function
doc:
<comment>Description:</comment>
  Returns the number of outputs in each of the training patterns in the train data
  
  Returns the number of outputs in each of the training patterns in the train data <info>resource</info>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$data</strong>  Neural network training data <info>resource</info>.

<comment>Return:</comment>
  <info>int</info>  The number of outputs, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_length_train_data()</strong>
   * <strong>fann_num_input_train_data()</strong>


id: fann_print_error
type: function
doc:
<comment>Description:</comment>
  Prints the error string
  
  Prints the error string.

<comment>Param:</comment>
  <info>resource</info>  <strong>$errdat</strong>  Either neural network <info>resource</info> or neural network trainining data <info>resource</info>.

<comment>Return:</comment>
  <info>void</info>  No value is returned.

<comment>See Also:</comment>
   * <strong>fann_get_errstr()</strong>


id: fann_randomize_weights
type: function
doc:
<comment>Description:</comment>
  Give each connection a random weight between min_weight and max_weight
  
  Give each connection a random weight between <strong>$min_weight</strong> and <strong>$max_weight</strong>
  
  From the beginning the weights are random between -0.1 and 0.1.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>         Neural network <info>resource</info>.
  <info>float</info>     <strong>$min_weight</strong>  Minimum weight value
  <info>float</info>     <strong>$max_weight</strong>  Maximum weight value

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_init_weights()</strong>


id: fann_read_train_from_file
type: function
doc:
<comment>Description:</comment>
  Reads a file that stores training data
  
  Reads a file that stores training data.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  The input file in the following format:

<comment>Return:</comment>
  <info>resource</info>  Returns a train data <info>resource</info> on success, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_train_on_data()</strong>
   * <strong>fann_destroy_train()</strong>
   * <strong>fann_save_train()</strong>


id: fann_reset_MSE
type: function
doc:
<comment>Description:</comment>
  Resets the mean square error from the network
  
  Resets the mean square error from the network.
  
  This function also resets the number of bits that fail.

<comment>Param:</comment>
  <info>string</info>  <strong>$ann</strong>  Neural network <info>resource</info>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_MSE()</strong>
   * <strong>fann_get_bit_fail()</strong>
   * <strong>fann_get_bit_fail_limit()</strong>


id: fann_reset_errno
type: function
doc:
<comment>Description:</comment>
  Resets the last error number
  
  Resets the last error number.

<comment>Param:</comment>
  <info>resource</info>  <strong>$errdat</strong>  Either neural network <info>resource</info> or neural network trainining data <info>resource</info>.

<comment>Return:</comment>
  <info>void</info>  No value is returned.

<comment>See Also:</comment>
   * <strong>fann_get_errno()</strong>
   * <strong>fann_reset_errstr()</strong>


id: fann_reset_errstr
type: function
doc:
<comment>Description:</comment>
  Resets the last error string
  
  Resets the last error string.

<comment>Param:</comment>
  <info>resource</info>  <strong>$errdat</strong>  Either neural network <info>resource</info> or neural network trainining data <info>resource</info>.

<comment>Return:</comment>
  <info>void</info>  No value is returned.

<comment>See Also:</comment>
   * <strong>fann_get_errstr()</strong>
   * <strong>fann_reset_errno()</strong>


id: fann_run
type: function
doc:
<comment>Description:</comment>
  Will run input through the neural network
  
  Will run input through the neural network, returning an array of outputs, the number of which
  being equal to the number of neurons in the output layer.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>    Neural network <info>resource</info>.
  <info>array</info>     <strong>$input</strong>  Array of input values

<comment>Return:</comment>
  <info>array</info>  Array of output values, or <info>false</info> on error


id: fann_save
type: function
doc:
<comment>Description:</comment>
  Saves the entire network to a configuration file
  
  Saves the entire network to a configuration file.
  
  The configuration file contains all information about the neural network and enables
  <strong>fann_create_from_file()</strong> to create an exact copy of the neural network and all of the parameters
  associated with the neural network.
  
  These three parameters (<strong>fann_set_callback()</strong>, <strong>fann_set_error_log()</strong>, <strong>fann_set_user_data()</strong>) are NOT
  saved to the file because they cannot safely be ported to a different location. Also temporary
  parameters generated during training like <strong>fann_get_MSE()</strong> is not saved.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                 Neural network <info>resource</info>.
  <info>string</info>    <strong>$configuration_file</strong>  The configuration file path.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_create_from_file()</strong>


id: fann_save_train
type: function
doc:
<comment>Description:</comment>
  Save the training structure to a file
  
  Save the training data to a file, with the format as specified in <strong>fann_read_train_from_file()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$data</strong>       Neural network training data <info>resource</info>.
  <info>string</info>    <strong>$file_name</strong>  The file name of the file where training data is saved to.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_read_train_from_file()</strong>


id: fann_scale_input
type: function
doc:
<comment>Description:</comment>
  Scale data in input vector before feed it to ann based on previously calculated parameters
  
  Scale data in input vector before feed it to ann based on previously calculated parameters.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>           Neural network <info>resource</info>.
  <info>array</info>     <strong>$input_vector</strong>  Input vector that will be scaled

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_descale_input()</strong>
   * <strong>fann_scale_output()</strong>


id: fann_scale_input_train_data
type: function
doc:
<comment>Description:</comment>
  Scales the inputs in the training data to the specified range
  
  Scales the inputs in the training data to the specified range.

<comment>Param:</comment>
  <info>resource</info>  <strong>$train_data</strong>  Neural network training data <info>resource</info>.
  <info>float</info>     <strong>$new_min</strong>     New minimum after scaling inputs in training data.
  <info>float</info>     <strong>$new_max</strong>     New maximum after scaling inputs in training data.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_scale_output_train_data()</strong>
   * <strong>fann_scale_train_data()</strong>


id: fann_scale_output
type: function
doc:
<comment>Description:</comment>
  Scale data in output vector before feed it to ann based on previously calculated parameters
  
  Scale data in output vector before feed it to ann based on previously calculated parameters.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>            Neural network <info>resource</info>.
  <info>array</info>     <strong>$output_vector</strong>  Output vector that will be scaled

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_descale_output()</strong>
   * <strong>fann_scale_input()</strong>


id: fann_scale_output_train_data
type: function
doc:
<comment>Description:</comment>
  Scales the outputs in the training data to the specified range
  
  Scales the outputs in the training data to the specified range.

<comment>Param:</comment>
  <info>resource</info>  <strong>$train_data</strong>  Neural network training data <info>resource</info>.
  <info>float</info>     <strong>$new_min</strong>     New minimum after scaling outputs in training data.
  <info>float</info>     <strong>$new_max</strong>     New maximum after scaling outputs in training data.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_scale_input_train_data()</strong>
   * <strong>fann_scale_train_data()</strong>


id: fann_scale_train
type: function
doc:
<comment>Description:</comment>
  Scale input and output data based on previously calculated parameters
  
  Scale input and output data based on previously calculated parameters.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>         Neural network <info>resource</info>.
  <info>resource</info>  <strong>$train_data</strong>  Neural network training data <info>resource</info>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_descale_train()</strong>
   * <strong>fann_set_scaling_params()</strong>


id: fann_scale_train_data
type: function
doc:
<comment>Description:</comment>
  Scales the inputs and outputs in the training data to the specified range
  
  Scales the inputs and outputs in the training data to the specified range.

<comment>Param:</comment>
  <info>resource</info>  <strong>$train_data</strong>  Neural network training data <info>resource</info>.
  <info>float</info>     <strong>$new_min</strong>     New minimum after scaling inputs and outputs in training data.
  <info>float</info>     <strong>$new_max</strong>     New maximum after scaling inputs and outputs in training data.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_scale_output_train_data()</strong>
   * <strong>fann_scale_input_train_data()</strong>


id: fann_set_activation_function
type: function
doc:
<comment>Description:</comment>
  Sets the activation function for supplied neuron and layer
  
  Set the activation function for neuron number <return>neuron</return> in layer number <return>layer</return>, counting the input
  layer as layer 0.
  
  It is not possible to set activation functions for the neurons in the input layer.
  
  When choosing an activation function it is important to note that the activation functions have
  different range. <info>FANN_SIGMOID</info> is e.g. in the 0 - 1 range while <info>FANN_SIGMOID_SYMMETRIC</info> is in the -1
  - 1 range and <info>FANN_LINEAR</info> is unbound.
  
  The supplied activation_function value must be one of the activation functions constants.
  
  The return value is one of the activation functions constants.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                  Neural network <info>resource</info>.
  <info>int</info>       <strong>$activation_function</strong>  The activation functions constant.
  <info>int</info>       <strong>$layer</strong>                Layer number.
  <info>int</info>       <strong>$neuron</strong>               Neuron number.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_set_activation_function_layer()</strong>
   * <strong>fann_set_activation_function_hidden()</strong>
   * <strong>fann_set_activation_function_output()</strong>
   * <strong>fann_set_activation_steepness()</strong>
   * <strong>fann_get_activation_function()</strong>


id: fann_set_activation_function_hidden
type: function
doc:
<comment>Description:</comment>
  Sets the activation function for all of the hidden layers
  
  Sets the activation function for all of the hidden layers.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                  Neural network <info>resource</info>.
  <info>int</info>       <strong>$activation_function</strong>  The activation functions constant.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_set_activation_function()</strong>
   * <strong>fann_set_activation_function_layer()</strong>
   * <strong>fann_set_activation_function_output()</strong>
   * <strong>fann_set_activation_steepness()</strong>


id: fann_set_activation_function_layer
type: function
doc:
<comment>Description:</comment>
  Sets the activation function for all the neurons in the supplied layer
  
  Set the activation function for all the neurons in the layer number <return>layer</return>, counting the input
  layer as layer 0.
  
  It is not possible to set activation functions for the neurons in the input layer.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                  Neural network <info>resource</info>.
  <info>int</info>       <strong>$activation_function</strong>  The activation functions constant.
  <info>int</info>       <strong>$layer</strong>                Layer number.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_set_activation_function()</strong>
   * <strong>fann_set_activation_function_hidden()</strong>
   * <strong>fann_set_activation_function_output()</strong>
   * <strong>fann_set_activation_steepness()</strong>


id: fann_set_activation_function_output
type: function
doc:
<comment>Description:</comment>
  Sets the activation function for the output layer
  
  Sets the activation function for the output layer.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                  Neural network <info>resource</info>.
  <info>int</info>       <strong>$activation_function</strong>  The activation functions constant.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_set_activation_function()</strong>
   * <strong>fann_set_activation_function_layer()</strong>
   * <strong>fann_set_activation_function_hidden()</strong>
   * <strong>fann_set_activation_steepness()</strong>


id: fann_set_activation_steepness
type: function
doc:
<comment>Description:</comment>
  Sets the activation steepness for supplied neuron and layer number
  
  Set the activation steepness for neuron number <return>neuron</return> in layer number <return>layer</return>, counting the input
  layer as layer 0.
  
  It is not possible to set activation steepness for the neurons in the input layer.
  
  The steepness of an activation function says something about how fast the activation function goes
  from the minimum to the maximum. A high value for the activation function will also give a more
  aggressive training.
  
  When training neural networks where the output values should be at the extremes (usually 0 and 1,
  depending on the activation function), a steep activation function can be used (e.g.  1.0).
  
  The default activation steepness is 0.5.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                   Neural network <info>resource</info>.
  <info>float</info>     <strong>$activation_steepness</strong>  The activation steepness.
  <info>int</info>       <strong>$layer</strong>                 Layer number.
  <info>int</info>       <strong>$neuron</strong>                Neuron number.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_set_activation_steepness_layer()</strong>
   * <strong>fann_set_activation_steepness_hidden()</strong>
   * <strong>fann_set_activation_steepness_output()</strong>
   * <strong>fann_get_activation_steepness()</strong>
   * <strong>fann_set_activation_function()</strong>


id: fann_set_activation_steepness_hidden
type: function
doc:
<comment>Description:</comment>
  Sets the steepness of the activation steepness for all neurons in the all hidden layers
  
  Sets the steepness of the activation steepness for all neurons in the all hidden layers.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                   Neural network <info>resource</info>.
  <info>float</info>     <strong>$activation_steepness</strong>  The activation steepness.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_set_activation_steepness()</strong>
   * <strong>fann_set_activation_steepness_layer()</strong>
   * <strong>fann_set_activation_steepness_output()</strong>
   * <strong>fann_get_activation_steepness()</strong>
   * <strong>fann_set_activation_function()</strong>


id: fann_set_activation_steepness_layer
type: function
doc:
<comment>Description:</comment>
  Sets the activation steepness for all of the neurons in the supplied layer number
  
  Set the activation steepness for all of the neurons in layer number <return>layer</return>, counting the input
  layer as layer 0.
  
  It is not possible to set activation steepness for the neurons in the input layer.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                   Neural network <info>resource</info>.
  <info>float</info>     <strong>$activation_steepness</strong>  The activation steepness.
  <info>int</info>       <strong>$layer</strong>                 Layer number.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_set_activation_steepness()</strong>
   * <strong>fann_set_activation_steepness_hidden()</strong>
   * <strong>fann_set_activation_steepness_output()</strong>
   * <strong>fann_get_activation_steepness()</strong>
   * <strong>fann_set_activation_function()</strong>


id: fann_set_activation_steepness_output
type: function
doc:
<comment>Description:</comment>
  Sets the steepness of the activation steepness in the output layer
  
  Sets the steepness of the activation steepness in the output layer.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                   Neural network <info>resource</info>.
  <info>float</info>     <strong>$activation_steepness</strong>  The activation steepness.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_set_activation_steepness()</strong>
   * <strong>fann_set_activation_steepness_layer()</strong>
   * <strong>fann_set_activation_steepness_hidden()</strong>
   * <strong>fann_get_activation_steepness()</strong>
   * <strong>fann_set_activation_function()</strong>


id: fann_set_bit_fail_limit
type: function
doc:
<comment>Description:</comment>
  Set the bit fail limit used during training
  
  Set the bit fail limit used during training.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>             Neural network <info>resource</info>.
  <info>float</info>     <strong>$bit_fail_limit</strong>  The bit fail limit.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_bit_fail_limit()</strong>


id: fann_set_callback
type: function
doc:
<comment>Description:</comment>
  Sets the callback function for use during training
  
  Sets the callback function for use during training. It means that it is called from
  <strong>fann_train_on_data()</strong> or <strong>fann_train_on_file()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>       Neural network <info>resource</info>.
  <info>callable</info>  <strong>$callback</strong>  The supplied callback function takes following parameters: <return>ann</return> - The neural
                       network <info>resource</info><return>train</return> - The train data <info>resource</info> or <info>null</info> if called from
                       <strong>fann_train_on_file()</strong><return>max_epochs</return> - The maximum number of epochs the training
                       should continue<return>epochs_between_reports</return> - The number of epochs between calling
                       this function<return>desired_error</return> - The desired <strong>fann_get_MSE()</strong> or
                       <strong>fann_get_bit_fail()</strong>, depending on the stop function chosen by
                       <strong>fann_set_train_stop_function()</strong><return>epochs</return> - The current epoch
                       
                       The callback should return <info>true</info>. If it returns <info>false</info>, the training will
                       terminate.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_train_on_data()</strong>
   * <strong>fann_train_on_file()</strong>


id: fann_set_cascade_activation_functions
type: function
doc:
<comment>Description:</comment>
  Sets the array of cascade candidate activation functions
  
  Sets the array of cascade candidate activation functions.
  
  See <strong>fann_get_cascade_num_candidates()</strong> for a description of which candidate neurons will be
  generated by this array.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                           Neural network <info>resource</info>.
  <info>array</info>     <strong>$cascade_activation_functions</strong>  The array of cascade candidate activation functions.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_cascade_activation_functions_count()</strong>
   * <strong>fann_set_cascade_activation_functions()</strong>


id: fann_set_cascade_activation_steepnesses
type: function
doc:
<comment>Description:</comment>
  Sets the array of cascade candidate activation steepnesses
  
  Sets the array of cascade candidate activation steepnesses.
  
  See <strong>fann_get_cascade_num_candidates()</strong> for a description of which candidate neurons will be
  generated by this array.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                                   Neural network <info>resource</info>.
  <info>array</info>     <strong>$cascade_activation_steepnesses_count</strong>  The array of cascade candidate activation
                                                   steepnesses.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_cascade_activation_steepnesses()</strong>
   * <strong>fann_get_cascade_activation_steepnesses_count()</strong>


id: fann_set_cascade_candidate_change_fraction
type: function
doc:
<comment>Description:</comment>
  Sets the cascade candidate change fraction
  
  Sets the cascade candidate change fraction.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                                Neural network <info>resource</info>.
  <info>float</info>     <strong>$cascade_candidate_change_fraction</strong>  The cascade candidate change fraction.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_cascade_candidate_change_fraction()</strong>


id: fann_set_cascade_candidate_limit
type: function
doc:
<comment>Description:</comment>
  Sets the candidate limit
  
  Sets the candidate limit.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                      Neural network <info>resource</info>.
  <info>float</info>     <strong>$cascade_candidate_limit</strong>  The candidate limit.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_cascade_candidate_limit()</strong>


id: fann_set_cascade_candidate_stagnation_epochs
type: function
doc:
<comment>Description:</comment>
  Sets the number of cascade candidate stagnation epochs
  
  Sets the number of cascade candidate stagnation epochs.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                                  Neural network <info>resource</info>.
  <info>int</info>       <strong>$cascade_candidate_stagnation_epochs</strong>  The number of cascade candidate stagnation epochs.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_cascade_candidate_stagnation_epochs()</strong>


id: fann_set_cascade_max_cand_epochs
type: function
doc:
<comment>Description:</comment>
  Sets the max candidate epochs
  
  Sets the max candidate epochs.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                      Neural network <info>resource</info>.
  <info>int</info>       <strong>$cascade_max_cand_epochs</strong>  The max candidate epochs.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_cascade_max_cand_epochs()</strong>


id: fann_set_cascade_max_out_epochs
type: function
doc:
<comment>Description:</comment>
  Sets the maximum out epochs
  
  Sets the maximum out epochs.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                     Neural network <info>resource</info>.
  <info>int</info>       <strong>$cascade_max_out_epochs</strong>  The maximum out epochs.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_cascade_max_out_epochs()</strong>


id: fann_set_cascade_min_cand_epochs
type: function
doc:
<comment>Description:</comment>
  Sets the min candidate epochs
  
  Sets the min candidate epochs.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                      Neural network <info>resource</info>.
  <info>int</info>       <strong>$cascade_min_cand_epochs</strong>  The minimum candidate epochs.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_cascade_min_cand_epochs()</strong>


id: fann_set_cascade_min_out_epochs
type: function
doc:
<comment>Description:</comment>
  Sets the minimum out epochs
  
  Sets the minimum out epochs.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                     Neural network <info>resource</info>.
  <info>int</info>       <strong>$cascade_min_out_epochs</strong>  The minimum out epochs.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_cascade_min_out_epochs()</strong>


id: fann_set_cascade_num_candidate_groups
type: function
doc:
<comment>Description:</comment>
  Sets the number of candidate groups
  
  Sets the number of candidate groups.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                           Neural network <info>resource</info>.
  <info>int</info>       <strong>$cascade_num_candidate_groups</strong>  The number of candidate groups.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_cascade_num_candidate_groups()</strong>


id: fann_set_cascade_output_change_fraction
type: function
doc:
<comment>Description:</comment>
  Sets the cascade output change fraction
  
  Sets the cascade output change fraction.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                             Neural network <info>resource</info>.
  <info>float</info>     <strong>$cascade_output_change_fraction</strong>  The cascade output change fraction.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_cascade_output_change_fraction()</strong>


id: fann_set_cascade_output_stagnation_epochs
type: function
doc:
<comment>Description:</comment>
  Sets the number of cascade output stagnation epochs
  
  Sets the number of cascade output stagnation epochs.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                               Neural network <info>resource</info>.
  <info>int</info>       <strong>$cascade_output_stagnation_epochs</strong>  The number of cascade output stagnation epochs.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_cascade_output_stagnation_epochs()</strong>


id: fann_set_cascade_weight_multiplier
type: function
doc:
<comment>Description:</comment>
  Sets the weight multiplier
  
  Sets the weight multiplier.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                        Neural network <info>resource</info>.
  <info>float</info>     <strong>$cascade_weight_multiplier</strong>  The weight multiplier.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_cascade_weight_multiplier()</strong>


id: fann_set_error_log
type: function
doc:
<comment>Description:</comment>
  Sets where the errors are logged to
  
  Sets where the errors are logged to.

<comment>Param:</comment>
  <info>resource</info>  <strong>$errdat</strong>    Either neural network <info>resource</info> or neural network trainining data <info>resource</info>.
  <info>string</info>    <strong>$log_file</strong>  The log file path.

<comment>Return:</comment>
  <info>void</info>  No value is returned.


id: fann_set_input_scaling_params
type: function
doc:
<comment>Description:</comment>
  Calculate input scaling parameters for future use based on training data
  
  Calculate input scaling parameters for future use based on training data.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>            Neural network <info>resource</info>.
  <info>resource</info>  <strong>$train_data</strong>     Neural network training data <info>resource</info>.
  <info>float</info>     <strong>$new_input_min</strong>  The desired lower bound in input data after scaling (not strictly
                            followed)
  <info>float</info>     <strong>$new_input_max</strong>  The desired upper bound in input data after scaling (not strictly
                            followed)

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_set_output_scaling_params()</strong>


id: fann_set_learning_momentum
type: function
doc:
<comment>Description:</comment>
  Sets the learning momentum
  
  Sets the learning momentum.
  
  More info available in <strong>fann_get_learning_momentum()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                Neural network <info>resource</info>.
  <info>float</info>     <strong>$learning_momentum</strong>  The learning momentum.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_learning_momentum()</strong>
   * <strong>fann_set_training_algorithm()</strong>


id: fann_set_learning_rate
type: function
doc:
<comment>Description:</comment>
  Sets the learning rate
  
  Sets the learning rate.
  
  More info available in <strong>fann_get_learning_rate()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>            Neural network <info>resource</info>.
  <info>float</info>     <strong>$learning_rate</strong>  The learning rate.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_learning_rate()</strong>
   * <strong>fann_set_training_algorithm()</strong>


id: fann_set_output_scaling_params
type: function
doc:
<comment>Description:</comment>
  Calculate output scaling parameters for future use based on training data
  
  Calculate output scaling parameters for future use based on training data.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>             Neural network <info>resource</info>.
  <info>resource</info>  <strong>$train_data</strong>      Neural network training data <info>resource</info>.
  <info>float</info>     <strong>$new_output_min</strong>  The desired lower bound in output data after scaling (not strictly
                             followed)
  <info>float</info>     <strong>$new_output_max</strong>  The desired upper bound in output data after scaling (not strictly
                             followed)

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_set_input_scaling_params()</strong>


id: fann_set_quickprop_decay
type: function
doc:
<comment>Description:</comment>
  Sets the quickprop decay factor
  
  Sets the quickprop decay factor.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>              Neural network <info>resource</info>.
  <info>float</info>     <strong>$quickprop_decay</strong>  The quickprop decay factor.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_quickprop_decay()</strong>


id: fann_set_quickprop_mu
type: function
doc:
<comment>Description:</comment>
  Sets the quickprop mu factor
  
  Sets the quickprop mu factor.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>           Neural network <info>resource</info>.
  <info>float</info>     <strong>$quickprop_mu</strong>  The mu factor.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_quickprop_mu()</strong>


id: fann_set_rprop_decrease_factor
type: function
doc:
<comment>Description:</comment>
  Sets the decrease factor used during RPROP training
  
  Sets the decrease factor used during RPROP training.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                    Neural network <info>resource</info>.
  <info>float</info>     <strong>$rprop_decrease_factor</strong>  The decrease factor.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_rprop_decrease_factor()</strong>


id: fann_set_rprop_delta_max
type: function
doc:
<comment>Description:</comment>
  Sets the maximum step-size
  
  The maximum step-size is a positive number determining how large the maximum step-size may be.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>              Neural network <info>resource</info>.
  <info>float</info>     <strong>$rprop_delta_max</strong>  The maximum step-size.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_rprop_delta_max()</strong>
   * <strong>fann_get_rprop_delta_min()</strong>


id: fann_set_rprop_delta_min
type: function
doc:
<comment>Description:</comment>
  Sets the minimum step-size
  
  The minimum step-size is a small positive number determining how small the minimum step-size may
  be.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>              Neural network <info>resource</info>.
  <info>float</info>     <strong>$rprop_delta_min</strong>  The minimum step-size.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_rprop_delta_min()</strong>


id: fann_set_rprop_delta_zero
type: function
doc:
<comment>Description:</comment>
  Sets the initial step-size
  
  The initial step-size is a positive number determining the initial step size.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>               Neural network <info>resource</info>.
  <info>float</info>     <strong>$rprop_delta_zero</strong>  The initial step-size.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_rprop_delta_zero()</strong>
   * <strong>fann_get_rprop_delta_min()</strong>
   * <strong>fann_get_rprop_delta_max()</strong>


id: fann_set_rprop_increase_factor
type: function
doc:
<comment>Description:</comment>
  Sets the increase factor used during RPROP training
  
  Sets the increase factor used during RPROP training.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                    Neural network <info>resource</info>.
  <info>float</info>     <strong>$rprop_increase_factor</strong>  The increase factor.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_rprop_increase_factor()</strong>


id: fann_set_sarprop_step_error_shift
type: function
doc:
<comment>Description:</comment>
  Sets the sarprop step error shift
  
  Sets the sarprop step error shift.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                       Neural network <info>resource</info>.
  <info>float</info>     <strong>$sarprop_step_error_shift</strong>  The sarprop step error shift.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_sarprop_step_error_shift()</strong>


id: fann_set_sarprop_step_error_threshold_factor
type: function
doc:
<comment>Description:</comment>
  Sets the sarprop step error threshold factor
  
  Sets the sarprop step error threshold factor.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                                  Neural network <info>resource</info>.
  <info>float</info>     <strong>$sarprop_step_error_threshold_factor</strong>  The sarprop step error threshold factor.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_sarprop_step_error_threshold_factor()</strong>


id: fann_set_sarprop_temperature
type: function
doc:
<comment>Description:</comment>
  Sets the sarprop temperature
  
  Sets the sarprop temperature.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                  Neural network <info>resource</info>.
  <info>float</info>     <strong>$sarprop_temperature</strong>  The sarprop temperature.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_sarprop_temperature()</strong>


id: fann_set_sarprop_weight_decay_shift
type: function
doc:
<comment>Description:</comment>
  Sets the sarprop weight decay shift
  
  Sets the sarprop weight decay shift.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                         Neural network <info>resource</info>.
  <info>float</info>     <strong>$sarprop_weight_decay_shift</strong>  The sarprop weight decay shift.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_sarprop_weight_decay_shift()</strong>


id: fann_set_scaling_params
type: function
doc:
<comment>Description:</comment>
  Calculate input and output scaling parameters for future use based on training data
  
  Calculate input and output scaling parameters for future use based on training data.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>             Neural network <info>resource</info>.
  <info>resource</info>  <strong>$train_data</strong>      Neural network training data <info>resource</info>.
  <info>float</info>     <strong>$new_input_min</strong>   The desired lower bound in input data after scaling (not strictly
                             followed)
  <info>float</info>     <strong>$new_input_max</strong>   The desired upper bound in input data after scaling (not strictly
                             followed)
  <info>float</info>     <strong>$new_output_min</strong>  The desired lower bound in output data after scaling (not strictly
                             followed)
  <info>float</info>     <strong>$new_output_max</strong>  The desired upper bound in output data after scaling (not strictly
                             followed)

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_set_input_scaling_params()</strong>
   * <strong>fann_set_output_scaling_params()</strong>


id: fann_set_train_error_function
type: function
doc:
<comment>Description:</comment>
  Sets the error function used during training
  
  Sets the error function used during training.
  
  The error functions are described further in error functions constants.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>             Neural network <info>resource</info>.
  <info>int</info>       <strong>$error_function</strong>  The error function constant

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_train_error_function()</strong>


id: fann_set_train_stop_function
type: function
doc:
<comment>Description:</comment>
  Sets the stop function used during training
  
  Sets the stop function used during training.
  
  The stop functions are described further in stop functions constants.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>            Neural network <info>resource</info>.
  <info>int</info>       <strong>$stop_function</strong>  The stop function constant.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_train_stop_function()</strong>


id: fann_set_training_algorithm
type: function
doc:
<comment>Description:</comment>
  Sets the training algorithm
  
  Sets the training algorithm.
  
  More info available in <strong>fann_get_training_algorithm()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                 Neural network <info>resource</info>.
  <info>int</info>       <strong>$training_algorithm</strong>  Training algorithm constant

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_get_training_algorithm()</strong>


id: fann_set_weight
type: function
doc:
<comment>Description:</comment>
  Set a connection in the network
  
  Set a connections in the network.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>          Neural network <info>resource</info>.
  <info>int</info>       <strong>$from_neuron</strong>  The neuron where the connection starts
  <info>int</info>       <strong>$to_neuron</strong>    The neuron where the connection ends
  <info>float</info>     <strong>$weight</strong>       Connection weight

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.


id: fann_set_weight_array
type: function
doc:
<comment>Description:</comment>
  Set connections in the network
  
  Set connections in the network.
  
  Only the weights can be changed, connections and weights are ignored if they do not already exist
  in the network.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>          Neural network <info>resource</info>.
  <info>array</info>     <strong>$connections</strong>  An array of <class>FANNConnection</class> objects

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.


id: fann_shuffle_train_data
type: function
doc:
<comment>Description:</comment>
  Shuffles training data, randomizing the order
  
  Shuffles training data, randomizing the order. This is recommended for incremental training, while
  it have no influence during batch training.

<comment>Param:</comment>
  <info>resource</info>  <strong>$train_data</strong>  Neural network training data <info>resource</info>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.


id: fann_subset_train_data
type: function
doc:
<comment>Description:</comment>
  Returns an copy of a subset of the train data
  
  Returns an copy of a subset of the train data <info>resource</info>, starting at position <return>pos</return> and <return>length</return>
  elements forward.
  
  The <return>fann_subset_train_data(train_data, 0, fann_length_train_data(train_data))</return> do the same as
  <strong>fann_duplicate_train_data()</strong>

<comment>Param:</comment>
  <info>resource</info>  <strong>$data</strong>    Neural network training data <info>resource</info>.
  <info>int</info>       <strong>$pos</strong>     Starting position.
  <info>int</info>       <strong>$length</strong>  The number of copied elements.

<comment>Return:</comment>
  <info>resource</info>  Returns a train data <info>resource</info> on success, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_duplicate_train_data()</strong>


id: fann_test
type: function
doc:
<comment>Description:</comment>
  Test with a set of inputs, and a set of desired outputs
  
  Test with a set of inputs, and a set of desired outputs. This operation updates the mean square
  error, but does not change the network in any way.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>             Neural network <info>resource</info>.
  <info>array</info>     <strong>$input</strong>           An array of inputs. This array must be exactly <strong>fann_get_num_input()</strong>
                             long.
  <info>array</info>     <strong>$desired_output</strong>  An array of desired outputs. This array must be exactly
                             <strong>fann_get_num_output()</strong> long.

<comment>Return:</comment>
  <info>array</info>  Returns test outputs on success, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_test_data()</strong>
   * <strong>fann_train()</strong>
   * <strong>fann_get_num_input()</strong>
   * <strong>fann_get_num_output()</strong>


id: fann_test_data
type: function
doc:
<comment>Description:</comment>
  Test a set of training data and calculates the MSE for the training data
  
  Test a set of training data and calculates the MSE for the training data.
  
  This function updates the MSE and the bit fail values.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>   Neural network <info>resource</info>.
  <info>resource</info>  <strong>$data</strong>  Neural network training data <info>resource</info>.

<comment>Return:</comment>
  <info>float</info>  The updated MSE, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_train_on_data()</strong>
   * <strong>fann_train_epoch()</strong>
   * <strong>fann_get_bit_fail()</strong>
   * <strong>fann_get_MSE()</strong>
   * <strong>fann_set_training_algorithm()</strong>


id: fann_train
type: function
doc:
<comment>Description:</comment>
  Train one iteration with a set of inputs, and a set of desired outputs
  
  Train one iteration with a set of inputs, and a set of desired outputs. This training is always
  incremental training, since only one pattern is presented.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>             Neural network <info>resource</info>.
  <info>array</info>     <strong>$input</strong>           An array of inputs. This array must be exactly <strong>fann_get_num_input()</strong>
                             long.
  <info>array</info>     <strong>$desired_output</strong>  An array of desired outputs. This array must be exactly
                             <strong>fann_get_num_output()</strong> long.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_train_on_data()</strong>
   * <strong>fann_train_epoch()</strong>
   * <strong>fann_get_num_input()</strong>
   * <strong>fann_get_num_output()</strong>


id: fann_train_epoch
type: function
doc:
<comment>Description:</comment>
  Train one epoch with a set of training data
  
  Train one epoch with the training data stored in data. One epoch is where all of the training data
  is considered exactly once.
  
  This function returns the MSE error as it is calculated either before or during the actual
  training. This is not the actual MSE after the training epoch, but since calculating this will
  require to go through the entire training set once more. It is more than adequate to use this
  value during training.
  
  The training algorithm used by this function is chosen by <strong>fann_set_training_algorithm()</strong> function.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>   Neural network <info>resource</info>.
  <info>resource</info>  <strong>$data</strong>  Neural network training data <info>resource</info>.

<comment>Return:</comment>
  <info>float</info>  The MSE, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fann_train_on_data()</strong>
   * <strong>fann_test_data()</strong>
   * <strong>fann_get_MSE()</strong>
   * <strong>fann_set_training_algorithm()</strong>


id: fann_train_on_data
type: function
doc:
<comment>Description:</comment>
  Trains on an entire dataset for a period of time
  
  Trains on an entire dataset for a period of time.
  
  This training uses the training algorithm chosen by <strong>fann_set_training_algorithm()</strong> and the
  parameters set for these training algorithms.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                     Neural network <info>resource</info>.
  <info>resource</info>  <strong>$data</strong>                    Neural network training data <info>resource</info>.
  <info>int</info>       <strong>$max_epochs</strong>              The maximum number of epochs the training should continue
  <info>int</info>       <strong>$epochs_between_reports</strong>  The number of epochs between calling a callback function. A
                                     value of zero means that user function is not called.
  <info>float</info>     <strong>$desired_error</strong>           The desired <strong>fann_get_MSE()</strong> or <strong>fann_get_bit_fail()</strong>, depending on
                                     the stop function chosen by <strong>fann_set_train_stop_function()</strong>

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_train_on_file()</strong>
   * <strong>fann_train_epoch()</strong>
   * <strong>fann_get_bit_fail()</strong>
   * <strong>fann_get_MSE()</strong>
   * <strong>fann_set_train_stop_function()</strong>
   * <strong>fann_set_training_algorithm()</strong>
   * <strong>fann_set_callback()</strong>


id: fann_train_on_file
type: function
doc:
<comment>Description:</comment>
  Trains on an entire dataset, which is read from file, for a period of time
  
  Trains on an entire dataset, which is read from file, for a period of time.
  
  This training uses the training algorithm chosen by <strong>fann_set_training_algorithm()</strong> and the
  parameters set for these training algorithms.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                     Neural network <info>resource</info>.
  <info>string</info>    <strong>$filename</strong>                The file containing train data
  <info>int</info>       <strong>$max_epochs</strong>              The maximum number of epochs the training should continue
  <info>int</info>       <strong>$epochs_between_reports</strong>  The number of epochs between calling a user function. A value
                                     of zero means that user function is not called.
  <info>float</info>     <strong>$desired_error</strong>           The desired <strong>fann_get_MSE()</strong> or <strong>fann_get_bit_fail()</strong>, depending on
                                     the stop function chosen by <strong>fann_set_train_stop_function()</strong>

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>fann_train_on_data()</strong>
   * <strong>fann_train_epoch()</strong>
   * <strong>fann_get_bit_fail()</strong>
   * <strong>fann_get_MSE()</strong>
   * <strong>fann_set_train_stop_function()</strong>
   * <strong>fann_set_training_algorithm()</strong>
   * <strong>fann_set_callback()</strong>


id: fastcgi_finish_request
type: function
doc:
<comment>Description:</comment>
  Flushes all response data to the client
  
  This function flushes all response data to the client and finishes the request. This allows for
  time consuming tasks to be performed without leaving the connection to the client open.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.


id: fbird_add_user
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_add_user
  
  This function is an alias of:  <strong>ibase_add_user()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_modify_user()</strong>
   * <strong>fbird_delete_user()</strong>


id: fbird_affected_rows
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_affected_rows
  
  This function is an alias of:  <strong>ibase_affected_rows()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_query()</strong>
   * <strong>fbird_execute()</strong>


id: fbird_backup
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_backup
  
  This function is an alias of:  <strong>ibase_backup()</strong>.


id: fbird_blob_add
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_blob_add
  
  This function is an alias of:  <strong>ibase_blob_add()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_blob_cancel()</strong>
   * <strong>fbird_blob_close()</strong>
   * <strong>fbird_blob_create()</strong>
   * <strong>fbird_blob_import()</strong>


id: fbird_blob_cancel
type: function
doc:
<comment>Description:</comment>
  Cancel creating blob
  
  This function will discard a BLOB if it has not yet been closed by <strong>fbird_blob_close()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$blob_handle</strong>  A BLOB handle opened with <strong>fbird_blob_create()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>fbird_blob_close()</strong>
   * <strong>fbird_blob_create()</strong>
   * <strong>fbird_blob_import()</strong>


id: fbird_blob_close
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_blob_close
  
  This function is an alias of:  <strong>ibase_blob_close()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_blob_create()</strong>
   * <strong>fbird_blob_cancel()</strong>
   * <strong>fbird_blob_open()</strong>
   * <strong>fbird_blob_import()</strong>


id: fbird_blob_create
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_blob_create
  
  This function is an alias of:  <strong>ibase_blob_create()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_blob_add()</strong>
   * <strong>fbird_blob_cancel()</strong>
   * <strong>fbird_blob_close()</strong>
   * <strong>fbird_blob_import()</strong>


id: fbird_blob_echo
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_blob_echo
  
  This function is an alias of:  <strong>ibase_blob_echo()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_blob_open()</strong>
   * <strong>fbird_blob_close()</strong>
   * <strong>fbird_blob_get()</strong>


id: fbird_blob_get
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_blob_get
  
  This function is an alias of:  <strong>ibase_blob_get()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_blob_open()</strong>
   * <strong>fbird_blob_close()</strong>
   * <strong>fbird_blob_echo()</strong>


id: fbird_blob_import
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_blob_import
  
  This function is an alias of:  <strong>ibase_blob_import()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_blob_add()</strong>
   * <strong>fbird_blob_cancel()</strong>
   * <strong>fbird_blob_close()</strong>
   * <strong>fbird_blob_create()</strong>


id: fbird_blob_info
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_blob_info
  
  This function is an alias of:  <strong>ibase_blob_info()</strong>.


id: fbird_blob_open
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_blob_open
  
  This function is an alias of:  <strong>ibase_blob_open()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_blob_close()</strong>
   * <strong>fbird_blob_echo()</strong>
   * <strong>fbird_blob_get()</strong>


id: fbird_close
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_close
  
  This function is an alias of:  <strong>ibase_close()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_connect()</strong>
   * <strong>fbird_pconnect()</strong>


id: fbird_commit
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_commit
  
  This function is an alias of:  <strong>ibase_commit()</strong>.


id: fbird_commit_ret
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_commit_ret
  
  This function is an alias of:  <strong>ibase_commit_ret()</strong>.


id: fbird_connect
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_connect
  
  This function is an alias of:  <strong>ibase_connect()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_pconnect()</strong>
   * <strong>fbird_close()</strong>


id: fbird_db_info
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_db_info
  
  This function is an alias of:  <strong>ibase_db_info()</strong>.


id: fbird_delete_user
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_delete_user
  
  This function is an alias of:  <strong>ibase_delete_user()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_add_user()</strong>
   * <strong>fbird_modify_user()</strong>


id: fbird_drop_db
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_drop_db
  
  This function is an alias of:  <strong>ibase_drop_db()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_connect()</strong>
   * <strong>fbird_pconnect()</strong>


id: fbird_errcode
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_errcode
  
  This function is an alias of:  <strong>ibase_errcode()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_errmsg()</strong>


id: fbird_errmsg
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_errmsg
  
  This function is an alias of:  <strong>ibase_errmsg()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_errcode()</strong>


id: fbird_execute
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_execute
  
  This function is an alias of:  <strong>ibase_execute()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_query()</strong>


id: fbird_fetch_assoc
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_fetch_assoc
  
  This function is an alias of:  <strong>ibase_fetch_assoc()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_fetch_row()</strong>
   * <strong>fbird_fetch_object()</strong>


id: fbird_fetch_object
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_fetch_object
  
  This function is an alias of:  <strong>ibase_fetch_object()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_fetch_row()</strong>
   * <strong>fbird_fetch_assoc()</strong>


id: fbird_fetch_row
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_fetch_row
  
  This function is an alias of:  <strong>ibase_fetch_row()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_fetch_assoc()</strong>
   * <strong>fbird_fetch_object()</strong>


id: fbird_field_info
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_field_info
  
  This function is an alias of:  <strong>ibase_field_info()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_num_fields()</strong>


id: fbird_free_event_handler
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_free_event_handler
  
  This function is an alias of:  <strong>ibase_free_event_handler()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_set_event_handler()</strong>


id: fbird_free_query
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_free_query
  
  This function is an alias of:  <strong>ibase_free_query()</strong>.


id: fbird_free_result
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_free_result
  
  This function is an alias of:  <strong>ibase_free_result()</strong>.


id: fbird_gen_id
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_gen_id
  
  This function is an alias of:  <strong>ibase_gen_id()</strong>.


id: fbird_maintain_db
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_maintain_db
  
  This function is an alias of:  <strong>ibase_maintain_db()</strong>.


id: fbird_modify_user
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_modify_user
  
  This function is an alias of:  <strong>ibase_modify_user()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_add_user()</strong>
   * <strong>fbird_delete_user()</strong>


id: fbird_name_result
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_name_result
  
  This function is an alias of:  <strong>ibase_name_result()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_prepare()</strong>
   * <strong>fbird_execute()</strong>


id: fbird_num_fields
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_num_fields
  
  This function is an alias of:  <strong>ibase_num_fields()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_field_info()</strong>


id: fbird_num_params
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_num_params
  
  This function is an alias of:  <strong>ibase_num_params()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_prepare()</strong>
   * <strong>fbird_param_info()</strong>


id: fbird_param_info
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_param_info
  
  This function is an alias of:  <strong>ibase_param_info()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_field_info()</strong>
   * <strong>fbird_num_params()</strong>


id: fbird_pconnect
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_pconnect
  
  This function is an alias of:  <strong>ibase_pconnect()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_close()</strong>
   * <strong>fbird_connect()</strong>


id: fbird_prepare
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_prepare
  
  This function is an alias of:  <strong>ibase_prepare()</strong>.


id: fbird_query
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_query
  
  This function is an alias of:  <strong>ibase_query()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_errmsg()</strong>
   * <strong>fbird_fetch_row()</strong>
   * <strong>fbird_fetch_object()</strong>
   * <strong>fbird_free_result()</strong>


id: fbird_restore
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_restore
  
  This function is an alias of:  <strong>ibase_restore()</strong>.


id: fbird_rollback
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_rollback
  
  This function is an alias of:  <strong>ibase_rollback()</strong>.


id: fbird_rollback_ret
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_rollback_ret
  
  This function is an alias of:  <strong>ibase_rollback_ret()</strong>.


id: fbird_server_info
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_server_info
  
  This function is an alias of:  <strong>ibase_server_info()</strong>.


id: fbird_service_attach
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_service_attach
  
  This function is an alias of:  <strong>ibase_service_attach()</strong>.


id: fbird_service_detach
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_service_detach
  
  This function is an alias of:  <strong>ibase_service_detach()</strong>.


id: fbird_set_event_handler
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_set_event_handler
  
  This function is an alias of:  <strong>ibase_set_event_handler()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_free_event_handler()</strong>
   * <strong>fbird_wait_event()</strong>


id: fbird_trans
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_trans
  
  This function is an alias of:  <strong>ibase_trans()</strong>.


id: fbird_wait_event
type: function
doc:
<comment>Description:</comment>
  Alias of ibase_wait_event
  
  This function is an alias of:  <strong>ibase_wait_event()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_set_event_handler()</strong>
   * <strong>fbird_free_event_handler()</strong>


id: fclose
type: function
doc:
<comment>Description:</comment>
  Closes an open file pointer
  
  The file pointed to by <strong>$stream</strong> is closed.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  The file pointer must be valid, and must point to a file successfully opened by
                     <strong>fopen()</strong> or <strong>fsockopen()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>fopen()</strong>
   * <strong>fsockopen()</strong>


id: fdatasync
type: function
doc:
<comment>Description:</comment>
  Synchronizes data (but not meta-data) to the file
  
  This function synchronizes <strong>$stream</strong> contents to storage media, just like <strong>fsync()</strong> does, but it does
  not synchronize file meta-data. Note that this function is only effectively different in POSIX
  systems. In Windows, this function is aliased to <strong>fsync()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  The file pointer must be valid, and must point to
                     a file successfully opened by <strong>fopen()</strong> or
                     <strong>fsockopen()</strong> (and not yet closed by
                     <strong>fclose()</strong>).

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>fflush()</strong>
   * <strong>fsync()</strong>


id: fdf_add_doc_javascript
type: function
doc:
<comment>Description:</comment>
  Adds javascript code to the FDF document
  
  Adds a script to the FDF, which Acrobat then adds to the doc-level scripts of a document, once the
  FDF is imported into it.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$script_name</strong>   The script name.
  <info>string</info>    <strong>$script_code</strong>   The script code. It is strongly suggested to use <return>\r</return> for linebreaks within
                           the script code.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.


id: fdf_add_template
type: function
doc:
<comment>Description:</comment>
  Adds a template into the FDF document
  
  This function is
  currently not documented; only its argument list is available.

<comment>Return:</comment>
  <info>bool</info>  


id: fdf_close
type: function
doc:
<comment>Description:</comment>
  Close an FDF document
  
  Closes the FDF document.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.

<comment>Return:</comment>
  <info>void</info>  No value is returned.

<comment>See Also:</comment>
   * <strong>fdf_open()</strong>


id: fdf_create
type: function
doc:
<comment>Description:</comment>
  Create a new FDF document
  
  Creates a new FDF document.
  
  This function is needed if one would like to populate input fields in a PDF document with data.

<comment>Return:</comment>
  <info>resource</info>  Returns a FDF document handle, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fdf_close()</strong>
   * <strong>fdf_save()</strong>
   * <strong>fdf_open()</strong>


id: fdf_enum_values
type: function
doc:
<comment>Description:</comment>
  Call a user defined function for each document value 
  
  This function is
  currently not documented; only its argument list is available.

<comment>Return:</comment>
  <info>bool</info>  


id: fdf_errno
type: function
doc:
<comment>Description:</comment>
  Return error code for last fdf operation
  
  Gets the error code set by the last FDF function call.
  
  A textual description of the error may be obtained using with <strong>fdf_error()</strong>.

<comment>Return:</comment>
  <info>int</info>  Returns the error code as an integer, or zero if there was no errors.

<comment>See Also:</comment>
   * <strong>fdf_error()</strong>


id: fdf_error
type: function
doc:
<comment>Description:</comment>
  Return error description for FDF error code
  
  Gets a textual description for the FDF error code given in <strong>$error_code</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$error_code</strong>  An error code obtained with <strong>fdf_errno()</strong>. If not provided, this function uses the
                    internal error code set by the last operation.

<comment>Return:</comment>
  <info>string</info>  Returns the error message as a string, or the string  <return>no error</return> if nothing went wrong.

<comment>See Also:</comment>
   * <strong>fdf_errno()</strong>


id: fdf_get_ap
type: function
doc:
<comment>Description:</comment>
  Get the appearance of a field
  
  Gets the appearance of a <strong>$field</strong> (i.e. the value of the /AP key) and stores it in a file.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$field</strong>         
  <info>int</info>       <strong>$face</strong>          The possible values are <info>FDFNormalAP</info>,  <info>FDFRolloverAP</info> and <info>FDFDownAP</info>.
  <info>string</info>    <strong>$filename</strong>      The appearance will be stored in this parameter.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.


id: fdf_get_attachment
type: function
doc:
<comment>Description:</comment>
  Extracts uploaded file embedded in the FDF
  
  Extracts a file uploaded by means of the "file selection" field <strong>$fieldname</strong> and stores it under
  <strong>$savepath</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$fieldname</strong>     
  <info>string</info>    <strong>$savepath</strong>      May be the name of a plain file or an existing directory in which the
                           file is to be created under its original name. Any existing file under
                           the same name will be overwritten.
                           
                           There seems to be no other way to find out the original filename but to
                           store the file using a directory as  <strong>$savepath</strong> and check for the basename
                           it was stored under.

<comment>Return:</comment>
  <info>array</info>  The returned array contains the following fields: <strong>$path</strong> - path were the file got
         stored<strong>$size</strong> - size of the stored file in bytes<strong>$type</strong> - mimetype if given in the FDF
         
         <strong>$path</strong> - path were the file got stored
         
         <strong>$size</strong> - size of the stored file in bytes
         
         <strong>$type</strong> - mimetype if given in the FDF


id: fdf_get_encoding
type: function
doc:
<comment>Description:</comment>
  Get the value of the /Encoding key
  
  Gets the value of the <return>/Encoding</return> key.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns the encoding as a string. An empty string is returned if the default
          <return>PDFDocEncoding/Unicode</return> scheme is used.

<comment>See Also:</comment>
   * <strong>fdf_set_encoding()</strong>


id: fdf_get_file
type: function
doc:
<comment>Description:</comment>
  Get the value of the /F key
  
  Gets the value of the <return>/F</return> key.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns the key value, as a string.

<comment>See Also:</comment>
   * <strong>fdf_set_file()</strong>


id: fdf_get_flags
type: function
doc:
<comment>Description:</comment>
  Gets the flags of a field
  
  This function is
  currently not documented; only its argument list is available.

<comment>Return:</comment>
  <info>int</info>  


id: fdf_get_opt
type: function
doc:
<comment>Description:</comment>
  Gets a value from the opt array of a field
  
  This function is
  currently not documented; only its argument list is available.

<comment>Return:</comment>
  <info>mixed</info>  


id: fdf_get_status
type: function
doc:
<comment>Description:</comment>
  Get the value of the /STATUS key
  
  Gets the value of the <return>/STATUS</return> key.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns the key value, as a string.

<comment>See Also:</comment>
   * <strong>fdf_set_status()</strong>


id: fdf_get_value
type: function
doc:
<comment>Description:</comment>
  Get the value of a field
  
  Gets the value for the requested field.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$fieldname</strong>     Name of the FDF field, as a string.
  <info>int</info>       <strong>$which</strong>         Elements of an array field can be retrieved by passing this optional
                           parameter, starting at zero. For non-array fields, this parameter will be
                           ignored.

<comment>Return:</comment>
  <info>mixed</info>  Returns the field value.

<comment>See Also:</comment>
   * <strong>fdf_set_value()</strong>


id: fdf_get_version
type: function
doc:
<comment>Description:</comment>
  Gets version number for FDF API or file 
  
  Return the FDF version for the given document, or the toolkit API version number if no parameter
  is given.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns the version as a string. For the current FDF toolkit 5.0 the API version number is
          <return>5.0</return> and the document version number is either <return>1.2</return>, <return>1.3</return> or  <return>1.4</return>.

<comment>See Also:</comment>
   * <strong>fdf_set_version()</strong>


id: fdf_header
type: function
doc:
<comment>Description:</comment>
  Sets FDF-specific output headers
  
  This is a convenience function to set appropriate HTTP headers for FDF output. It sets the
  <return>Content-type:</return> to  <return>application/vnd.fdf</return>.

<comment>Return:</comment>
  <info>void</info>  No value is returned.


id: fdf_next_field_name
type: function
doc:
<comment>Description:</comment>
  Get the next field name
  
  Gets the name of the field after the given field. This name can be used with several functions.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$fieldname</strong>     Name of the FDF field, as a string. If not given, the first field will be
                           assumed.

<comment>Return:</comment>
  <info>string</info>  Returns the field name as a string.

<comment>See Also:</comment>
   * <strong>fdf_get_value()</strong>


id: fdf_open
type: function
doc:
<comment>Description:</comment>
  Open a FDF document
  
  Opens a file with form data.
  
  You can also use <strong>fdf_open_string()</strong> to process the results of a PDF form POST request.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Path to the FDF file. This file must contain the data as returned from a PDF
                     form or created using <strong>fdf_create()</strong> and <strong>fdf_save()</strong>.

<comment>Return:</comment>
  <info>resource</info>  Returns a FDF document handle, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fdf_open_string()</strong>
   * <strong>fdf_close()</strong>
   * <strong>fdf_create()</strong>
   * <strong>fdf_save()</strong>


id: fdf_open_string
type: function
doc:
<comment>Description:</comment>
  Read a FDF document from a string
  
  Reads form data from a string.
  
  You can use <strong>fdf_open_string()</strong> together with $HTTP_FDF_DATA to process FDF form input from a remote
  client.

<comment>Param:</comment>
  <info>string</info>  <strong>$fdf_data</strong>  The data as returned from a PDF form or created using  <strong>fdf_create()</strong> and
                     <strong>fdf_save_string()</strong>.

<comment>Return:</comment>
  <info>resource</info>  Returns a FDF document handle, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fdf_open()</strong>
   * <strong>fdf_close()</strong>
   * <strong>fdf_create()</strong>
   * <strong>fdf_save_string()</strong>


id: fdf_remove_item
type: function
doc:
<comment>Description:</comment>
  Sets target frame for form
  
  This function is
  currently not documented; only its argument list is available.

<comment>Return:</comment>
  <info>bool</info>  


id: fdf_save
type: function
doc:
<comment>Description:</comment>
  Save a FDF document
  
  Saves a FDF document.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$filename</strong>      If provided, the resulting FDF will be written in this parameter.
                           Otherwise, this function will write the FDF to the default PHP output
                           stream.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>fdf_close()</strong>
   * <strong>fdf_create()</strong>
   * <strong>fdf_save_string()</strong>


id: fdf_save_string
type: function
doc:
<comment>Description:</comment>
  Returns the FDF document as a string
  
  Returns the FDF document as a string.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns the document as a string, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fdf_open_string()</strong>
   * <strong>fdf_close()</strong>
   * <strong>fdf_create()</strong>
   * <strong>fdf_save()</strong>


id: fdf_set_ap
type: function
doc:
<comment>Description:</comment>
  Set the appearance of a field
  
  Sets the appearance of a field (i.e. the value of the  <return>/AP</return> key).

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$field_name</strong>    
  <info>int</info>       <strong>$face</strong>          The possible values <info>FDFNormalAP</info>, <info>FDFRolloverAP</info> and <info>FDFDownAP</info>.
  <info>string</info>    <strong>$filename</strong>      
  <info>int</info>       <strong>$page_number</strong>   

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.


id: fdf_set_encoding
type: function
doc:
<comment>Description:</comment>
  Sets FDF character encoding
  
  Sets the character encoding for the FDF document.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$encoding</strong>      The encoding name. The following values are supported:  "<return>Shift-JIS</return>",
                           "<return>UHC</return>", "<return>GBK</return>" and "<return>BigFive</return>".
                           
                           An empty string resets the encoding to the default
                           <return>PDFDocEncoding/Unicode</return> scheme.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.


id: fdf_set_file
type: function
doc:
<comment>Description:</comment>
  Set PDF document to display FDF data in
  
  Selects a different PDF document to display the form results in then the form it originated from.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$url</strong>           Should be given as an absolute URL.
  <info>string</info>    <strong>$target_frame</strong>  Use this parameter to specify the frame in which the document will be
                           displayed. You can also set the default value for this parameter using
                           <strong>fdf_set_target_frame()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>fdf_get_file()</strong>
   * <strong>fdf_set_target_frame()</strong>


id: fdf_set_flags
type: function
doc:
<comment>Description:</comment>
  Sets a flag of a field
  
  Sets certain flags of the given field.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$fieldname</strong>     Name of the FDF field, as a string.
  <info>int</info>       <strong>$whichFlags</strong>    
  <info>int</info>       <strong>$newFlags</strong>      

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>fdf_set_opt()</strong>


id: fdf_set_javascript_action
type: function
doc:
<comment>Description:</comment>
  Sets an javascript action of a field
  
  Sets a javascript action for the given field.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$fieldname</strong>     Name of the FDF field, as a string.
  <info>int</info>       <strong>$trigger</strong>       
  <info>string</info>    <strong>$script</strong>        

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>fdf_set_submit_form_action()</strong>


id: fdf_set_on_import_javascript
type: function
doc:
<comment>Description:</comment>
  Adds javascript code to be executed when Acrobat opens the FDF
  
  This function is
  currently not documented; only its argument list is available.

<comment>Return:</comment>
  <info>bool</info>  

<comment>See Also:</comment>
   * <strong>fdf_add_doc_javascript()</strong>
   * <strong>fdf_set_javascript_action()</strong>


id: fdf_set_opt
type: function
doc:
<comment>Description:</comment>
  Sets an option of a field
  
  Sets options of the given field.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$fieldname</strong>     Name of the FDF field, as a string.
  <info>int</info>       <strong>$element</strong>       
  <info>string</info>    <strong>$str1</strong>          
  <info>string</info>    <strong>$str2</strong>          

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>fdf_set_flags()</strong>


id: fdf_set_status
type: function
doc:
<comment>Description:</comment>
  Set the value of the /STATUS key
  
  Sets the value of the <return>/STATUS</return> key. When a client receives a FDF with a status set it will present
  the value in an alert box.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$status</strong>        

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>fdf_get_status()</strong>


id: fdf_set_submit_form_action
type: function
doc:
<comment>Description:</comment>
  Sets a submit form action of a field
  
  Sets a submit form action for the given field.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$fieldname</strong>     Name of the FDF field, as a string.
  <info>int</info>       <strong>$trigger</strong>       
  <info>string</info>    <strong>$script</strong>        
  <info>int</info>       <strong>$flags</strong>         

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>fdf_set_javascript_action()</strong>


id: fdf_set_target_frame
type: function
doc:
<comment>Description:</comment>
  Set target frame for form display
  
  Sets the target frame to display a result PDF defined with  <strong>fdf_save_file()</strong> in.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$frame_name</strong>    The frame name, as a string.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>fdf_save_file()</strong>


id: fdf_set_value
type: function
doc:
<comment>Description:</comment>
  Set the value of a field
  
  Sets the <strong>$value</strong> for the given field.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$fieldname</strong>     Name of the FDF field, as a string.
  <info>mixed</info>     <strong>$value</strong>         This parameter will be stored as a string unless it is an array. In this
                           case all array elements will be stored as a value array.
  <info>int</info>       <strong>$isName</strong>        In older versions of the FDF toolkit last parameter determined if the
                           field value was to be converted to a PDF Name (= 1) or set to a PDF
                           String (= 0).
                           
                           The value is no longer used in the current toolkit version 5.0. For
                           compatibility reasons it is still supported as an optional parameter, but
                           ignored internally.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>fdf_get_value()</strong>
   * <strong>fdf_remove_item()</strong>


id: fdf_set_version
type: function
doc:
<comment>Description:</comment>
  Sets version number for a FDF file 
  
  Sets the FDF <strong>$version</strong> for the given document.
  
  Some features supported by this extension are only available in newer FDF versions.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$version</strong>       The version number. For the current FDF toolkit 5.0, this may be either
                           <return>1.2</return>, <return>1.3</return> or <return>1.4</return>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>fdf_get_version()</strong>


id: fdiv
type: function
doc:
<comment>Description:</comment>
  Divides two numbers, according to IEEE 754
  
  Returns the floating point result of dividing the <strong>$num1</strong> by the <strong>$num2</strong>. If the <strong>$num2</strong> is zero, then
  one of <return>INF</return>, <return>-INF</return>, or <return>NAN</return> will be returned.
  
  Note that in comparisons, <return>NAN</return> will never == or ===, any value, including itself.

<comment>Param:</comment>
  <info>float</info>  <strong>$num1</strong>  The dividend (numerator)
  <info>float</info>  <strong>$num2</strong>  The divisor

<comment>Return:</comment>
  <info>float</info>  The floating point result of <strong>$num1</strong>/<strong>$num2</strong>

<comment>See Also:</comment>
   * <return>/</return> - Floating-point division
   * <strong>intdiv()</strong> - Integer division
   * <strong>fmod()</strong> - Modulus


id: feof
type: function
doc:
<comment>Description:</comment>
  Tests for end-of-file on a file pointer
  
  Tests for end-of-file on a file pointer.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  The file pointer must be valid, and must point to
                     a file successfully opened by <strong>fopen()</strong> or
                     <strong>fsockopen()</strong> (and not yet closed by
                     <strong>fclose()</strong>).

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the file pointer is at EOF or an error occurs (including socket timeout);
        otherwise returns <info>false</info>.


id: fflush
type: function
doc:
<comment>Description:</comment>
  Flushes the output to a file
  
  This function forces a write of all buffered output to the resource pointed to by the file
  <strong>$stream</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  The file pointer must be valid, and must point to
                     a file successfully opened by <strong>fopen()</strong> or
                     <strong>fsockopen()</strong> (and not yet closed by
                     <strong>fclose()</strong>).

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>clearstatcache()</strong>
   * <strong>fwrite()</strong>


id: fgetc
type: function
doc:
<comment>Description:</comment>
  Gets character from file pointer
  
  Gets a character from the given file pointer.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  The file pointer must be valid, and must point to
                     a file successfully opened by <strong>fopen()</strong> or
                     <strong>fsockopen()</strong> (and not yet closed by
                     <strong>fclose()</strong>).

<comment>Return:</comment>
  <info>string|false</info>  Returns a string containing a single character read from the file pointed to by
                <strong>$stream</strong>. Returns <info>false</info> on EOF.
                
                This function may
                return Boolean <info>false</info>, but may also return a non-Boolean value which
                evaluates to <info>false</info>. Please read the section on Booleans for more
                information. Use the ===
                operator for testing the return value of this
                function.

<comment>See Also:</comment>
   * <strong>fread()</strong>
   * <strong>fopen()</strong>
   * <strong>popen()</strong>
   * <strong>fsockopen()</strong>
   * <strong>fgets()</strong>


id: fgetcsv
type: function
doc:
<comment>Description:</comment>
  Gets line from file pointer and parse for CSV fields
  
  Similar to <strong>fgets()</strong> except that <strong>fgetcsv()</strong> parses the line it reads for fields in CSV format and
  returns an array containing the fields read.
  
  The locale settings are taken into account by this function. If <return>LC_CTYPE</return> is e.g. <return>en_US.UTF-8</return>,
  files in one-byte encodings may be read wrongly by this function.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>     A valid file pointer to a file successfully opened by <strong>fopen()</strong>, <strong>popen()</strong>, or
                        <strong>fsockopen()</strong>.
  <info>int|null</info>  <strong>$length</strong>     Must be greater than the longest line (in characters) to be found in the CSV
                        file (allowing for trailing line-end characters). Otherwise the line is
                        split in chunks of <strong>$length</strong> characters, unless the split would occur inside
                        an enclosure.
                        
                        Omitting this parameter (or setting it to 0, or <info>null</info> in PHP 8.0.0 or later)
                        the maximum line length is not limited, which is slightly slower.
  <info>string</info>    <strong>$separator</strong>  The optional <strong>$separator</strong> parameter sets the field separator (one single-byte
                        character only).
  <info>string</info>    <strong>$enclosure</strong>  The optional <strong>$enclosure</strong> parameter sets the field enclosure character (one
                        single-byte character only).
  <info>string</info>    <strong>$escape</strong>     The optional <strong>$escape</strong> parameter sets the escape character (at most one
                        single-byte character). An empty string (<return>""</return>) disables the proprietary escape
                        mechanism.
                        
                        Usually an <strong>$enclosure</strong> character is escaped inside a field by doubling it;
                        however, the <strong>$escape</strong> character can be used as an alternative. So for the
                        default parameter values <return>""</return> and <return>\"</return> have the same meaning. Other than
                        allowing to escape the <strong>$enclosure</strong> character the <strong>$escape</strong> character has no
                        special meaning; it isn't even meant to escape itself.

<comment>Return:</comment>
  <info>array|false</info>  Returns an indexed array containing the fields read on success,  or <info>false</info> on failure.
               
               A blank line in a CSV file will be returned as an array comprising a single <info>null</info>
               field, and will not be treated as an error.
               
               If PHP is not properly recognizing
               the line endings when reading files either on or created by a Macintosh
               computer, enabling the
               auto_detect_line_endings
               run-time configuration option may help resolve the problem.

<comment>See Also:</comment>
   * <strong>str_getcsv()</strong>
   * <strong>explode()</strong>
   * <strong>file()</strong>
   * <strong>pack()</strong>
   * <strong>fputcsv()</strong>


id: fgets
type: function
doc:
<comment>Description:</comment>
  Gets line from file pointer
  
  Gets a line from file pointer.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  The file pointer must be valid, and must point to
                     a file successfully opened by <strong>fopen()</strong> or
                     <strong>fsockopen()</strong> (and not yet closed by
                     <strong>fclose()</strong>).
  <info>int|null</info>  <strong>$length</strong>  Reading ends when <strong>$length</strong> - 1 bytes have been read, or a newline (which is
                     included in the return value), or an EOF (whichever comes first). If no length
                     is specified, it will keep reading from the stream until it reaches the end of
                     the line.

<comment>Return:</comment>
  <info>string|false</info>  Returns a string of up to <strong>$length</strong> - 1 bytes read from the file pointed to by
                <strong>$stream</strong>. If there is no more data  to read in the file pointer, then <info>false</info> is
                returned.
                
                If an error occurs, <info>false</info> is returned.

<comment>See Also:</comment>
   * <strong>fgetss()</strong>
   * <strong>fread()</strong>
   * <strong>fgetc()</strong>
   * <strong>stream_get_line()</strong>
   * <strong>fopen()</strong>
   * <strong>popen()</strong>
   * <strong>fsockopen()</strong>
   * <strong>stream_set_timeout()</strong>


id: fgetss
type: function
doc:
<comment>Description:</comment>
  Gets line from file pointer and strip HTML tags
  
  Identical to <strong>fgets()</strong>, except that <strong>fgetss()</strong> attempts to strip any NUL bytes, HTML and PHP tags from
  the text it reads. The function retains the parsing state from call to call, and as such is not
  equivalent to calling <strong>strip_tags()</strong> on the return value of <strong>fgets()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$handle</strong>          The file pointer must be valid, and must point to
                             a file successfully opened by <strong>fopen()</strong> or
                             <strong>fsockopen()</strong> (and not yet closed by
                             <strong>fclose()</strong>).
  <info>int</info>       <strong>$length</strong>          Length of the data to be retrieved.
  <info>string</info>    <strong>$allowable_tags</strong>  You can use the optional third parameter to specify tags which should
                             not be stripped. See <strong>strip_tags()</strong> for details regarding
                             <strong>$allowable_tags</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns a string of up to <strong>$length</strong> - 1 bytes read from the file pointed to by <strong>$handle</strong>, with
          all HTML and PHP code stripped.
          
          If an error occurs, returns <info>false</info>.

<comment>See Also:</comment>
   * <strong>fgets()</strong>
   * <strong>fopen()</strong>
   * <strong>popen()</strong>
   * <strong>fsockopen()</strong>
   * <strong>strip_tags()</strong>
   * SplFileObject::fgetss
   * The string.strip_tags filter


id: file
type: function
doc:
<comment>Description:</comment>
  Reads entire file into an array
  
  Reads an entire file into an array.
  
  You can use <strong>file_get_contents()</strong> to return the contents of a file as a string.

<comment>Param:</comment>
  <info>string</info>         <strong>$filename</strong>  Path to the file.
                            
                            A URL can be used as a
                            filename with this function if the fopen wrappers have been enabled.
                            See <strong>fopen()</strong> for more details on how to specify the
                            filename. See the  for links to information
                            about what abilities the various wrappers have, notes on their usage,
                            and information on any predefined variables they may
                            provide.
  <info>int</info>            <strong>$flags</strong>     The optional parameter <strong>$flags</strong> can be one, or more, of the following
                            constants: <info>FILE_USE_INCLUDE_PATH</info> Search for the file in the
                            include_path. <info>FILE_IGNORE_NEW_LINES</info> Omit newline at the end of each
                            array element <info>FILE_SKIP_EMPTY_LINES</info> Skip empty lines
                            <info>FILE_NO_DEFAULT_CONTEXT</info> Don't use the default context
                            
                            Search for the file in the include_path.
                            
                            Omit newline at the end of each array element
                            
                            Skip empty lines
                            
                            Don't use the default context
  <info>resource|null</info>  <strong>$context</strong>   A context stream
                            <info>resource</info>.

<comment>Return:</comment>
  <info>array|false</info>  Returns the file in an array. Each element of the array corresponds to a line in the
               file, with the newline still attached. Upon failure, <strong>file()</strong> returns <info>false</info>.
               
               Each line in the resulting array will include the line ending, unless
               <info>FILE_IGNORE_NEW_LINES</info> is used.
               
               If PHP is not properly recognizing
               the line endings when reading files either on or created by a Macintosh
               computer, enabling the
               auto_detect_line_endings
               run-time configuration option may help resolve the problem.

<comment>See Also:</comment>
   * <strong>file_get_contents()</strong>
   * <strong>readfile()</strong>
   * <strong>fopen()</strong>
   * <strong>fsockopen()</strong>
   * <strong>popen()</strong>
   * <strong>include()</strong>
   * <strong>stream_context_create()</strong>


id: file_exists
type: function
doc:
<comment>Description:</comment>
  Checks whether a file or directory exists
  
  Checks whether a file or directory exists.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Path to the file or directory.
                     
                     On windows, use //computername/share/filename or \\computername\share\filename
                     to check files on network shares.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the file or directory specified by <strong>$filename</strong> exists; <info>false</info> otherwise.
        
        This function will return <info>false</info> for symlinks pointing to non-existing files.
        
        The check is done using the real UID/GID instead of the effective one.
        
        Because PHP's integer type is signed and many platforms use 32bit integers, some filesystem
        functions may return unexpected results for files which are larger than 2GB.

<comment>See Also:</comment>
   * <strong>is_readable()</strong>
   * <strong>is_writable()</strong>
   * <strong>is_file()</strong>
   * <strong>file()</strong>
   * <class>SplFileInfo</class>


id: file_get_contents
type: function
doc:
<comment>Description:</comment>
  Reads entire file into a string
  
  This function is similar to <strong>file()</strong>, except that <strong>file_get_contents()</strong> returns the file in a  <info>string</info>,
  starting at the specified <strong>$offset</strong>  up to <strong>$length</strong> bytes. On failure,  <strong>file_get_contents()</strong> will
  return <info>false</info>.
  
  <strong>file_get_contents()</strong> is the preferred way to read the contents of a file into a string.  It will
  use memory mapping techniques if supported by your OS to enhance performance.
  
  If you're opening a URI with special characters, such as spaces, you need to encode the URI with
  <strong>urlencode()</strong>.

<comment>Param:</comment>
  <info>string</info>         <strong>$filename</strong>          Name of the file to read.
  <info>bool</info>           <strong>$use_include_path</strong>  The <info>FILE_USE_INCLUDE_PATH</info> constant can be used to trigger
                                    include path search. This is not possible if strict typing is
                                    enabled, since <info>FILE_USE_INCLUDE_PATH</info> is an <info>int</info>. Use <info>true</info>
                                    instead.
  <info>resource|null</info>  <strong>$context</strong>           A valid context resource created with  <strong>stream_context_create()</strong>.
                                    If you don't need to use a custom context, you can skip this
                                    parameter by <info>null</info>.
  <info>int</info>            <strong>$offset</strong>            The offset where the reading starts on the original stream.
                                    Negative offsets count from the end of the stream.
                                    
                                    Seeking (<strong>$offset</strong>) is not supported with remote files. Attempting
                                    to seek on non-local files may work with small offsets, but this
                                    is unpredictable because it works on the buffered stream.
  <info>int|null</info>       <strong>$length</strong>            Maximum length of data read. The default is to read until end of
                                    file is reached. Note that this parameter is applied to the
                                    stream processed by the filters.

<comment>Return:</comment>
  <info>string|false</info>  The function returns the read data  or <info>false</info> on failure.
                
                This function may
                return Boolean <info>false</info>, but may also return a non-Boolean value which
                evaluates to <info>false</info>. Please read the section on Booleans for more
                information. Use the ===
                operator for testing the return value of this
                function.

<comment>See Also:</comment>
   * <strong>file()</strong>
   * <strong>fgets()</strong>
   * <strong>fread()</strong>
   * <strong>readfile()</strong>
   * <strong>file_put_contents()</strong>
   * <strong>stream_get_contents()</strong>
   * <strong>stream_context_create()</strong>
   * $http_response_header


id: file_put_contents
type: function
doc:
<comment>Description:</comment>
  Write data to a file
  
  This function is identical to calling <strong>fopen()</strong>,  <strong>fwrite()</strong> and <strong>fclose()</strong> successively to write data
  to a file.
  
  If <strong>$filename</strong> does not exist, the file is created. Otherwise, the existing file is overwritten,
  unless the  <info>FILE_APPEND</info> flag is set.

<comment>Param:</comment>
  <info>string</info>         <strong>$filename</strong>  Path to the file where to write the data.
  <info>mixed</info>          <strong>$data</strong>      The data to write. Can be either a <info>string</info>, an <info>array</info> or a <info>stream</info>
                            resource.
                            
                            If <strong>$data</strong> is a <info>stream</info> resource, the remaining buffer of that stream will
                            be copied to the specified file. This is similar with using
                            <strong>stream_copy_to_stream()</strong>.
                            
                            You can also specify the <strong>$data</strong> parameter as a single dimension array.
                            This is equivalent to <return>file_put_contents($filename, implode('', $array))</return>.
  <info>int</info>            <strong>$flags</strong>     The value of <strong>$flags</strong> can be any combination of  the following flags,
                            joined with the binary OR (<return>|</return>) operator.
                            
                            Available flagsFlagDescription<info>FILE_USE_INCLUDE_PATH</info> Search for <strong>$filename</strong>
                            in the include directory. See include_path for more information.
                            <info>FILE_APPEND</info> If file <strong>$filename</strong> already exists, append  the data to the
                            file instead of overwriting it. <info>LOCK_EX</info> Acquire an exclusive lock on the
                            file while proceeding to the  writing. In other words, a <strong>flock()</strong> call
                            happens between the <strong>fopen()</strong> call and the  <strong>fwrite()</strong> call. This is not
                            identical to an  <strong>fopen()</strong> call with mode "x".
  <info>resource|null</info>  <strong>$context</strong>   A valid context resource created with  <strong>stream_context_create()</strong>.

<comment>Return:</comment>
  <info>int|false</info>  This function returns the number of bytes that were written to the file, or <info>false</info> on
             failure.
             
             This function may
             return Boolean <info>false</info>, but may also return a non-Boolean value which
             evaluates to <info>false</info>. Please read the section on Booleans for more
             information. Use the ===
             operator for testing the return value of this
             function.

<comment>See Also:</comment>
   * <strong>fopen()</strong>
   * <strong>fwrite()</strong>
   * <strong>file_get_contents()</strong>
   * <strong>stream_context_create()</strong>


id: fileatime
type: function
doc:
<comment>Description:</comment>
  Gets last access time of file
  
  Gets the last access time of the given file.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Path to the file.

<comment>Return:</comment>
  <info>int|false</info>  Returns the time the file was last accessed,  or <info>false</info> on failure. The time is returned
             as a Unix timestamp.

<comment>See Also:</comment>
   * <strong>filemtime()</strong>
   * <strong>fileinode()</strong>
   * <strong>date()</strong>


id: filectime
type: function
doc:
<comment>Description:</comment>
  Gets inode change time of file
  
  Gets the inode change time of a file.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Path to the file.

<comment>Return:</comment>
  <info>int|false</info>  Returns the time the file was last changed,  or <info>false</info> on failure. The time is returned
             as a Unix timestamp.

<comment>See Also:</comment>
   * <strong>filemtime()</strong>


id: filegroup
type: function
doc:
<comment>Description:</comment>
  Gets file group
  
  Gets the file group. The group ID is returned in numerical format, use <strong>posix_getgrgid()</strong> to resolve
  it to a group name.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Path to the file.

<comment>Return:</comment>
  <info>int|false</info>  Returns the group ID of the file, or <info>false</info> if an error occurs. The group ID is returned
             in numerical format, use <strong>posix_getgrgid()</strong> to resolve it to a group name. Upon failure,
             <info>false</info> is returned.

<comment>See Also:</comment>
   * <strong>fileowner()</strong>
   * <strong>posix_getgrgid()</strong>


id: fileinode
type: function
doc:
<comment>Description:</comment>
  Gets file inode
  
  Gets the file inode.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Path to the file.

<comment>Return:</comment>
  <info>int|false</info>  Returns the inode number of the file,  or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>getmyinode()</strong>
   * <strong>stat()</strong>


id: filemtime
type: function
doc:
<comment>Description:</comment>
  Gets file modification time
  
  This function returns the time when the data blocks of a file were being written to, that is, the
  time when the content of the file was changed.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Path to the file.

<comment>Return:</comment>
  <info>int|false</info>  Returns the time the file was last modified,  or <info>false</info> on failure. The time is returned
             as a Unix timestamp, which is suitable for the <strong>date()</strong> function.

<comment>See Also:</comment>
   * <strong>filectime()</strong>
   * <strong>stat()</strong>
   * <strong>touch()</strong>
   * <strong>getlastmod()</strong>


id: fileowner
type: function
doc:
<comment>Description:</comment>
  Gets file owner
  
  Gets the file owner.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Path to the file.

<comment>Return:</comment>
  <info>int|false</info>  Returns the user ID of the owner of the file,  or <info>false</info> on failure. The user ID is
             returned in numerical format, use <strong>posix_getpwuid()</strong> to resolve it to a username.

<comment>See Also:</comment>
   * <strong>filegroup()</strong>
   * <strong>stat()</strong>
   * <strong>posix_getpwuid()</strong>


id: fileperms
type: function
doc:
<comment>Description:</comment>
  Gets file permissions
  
  Gets permissions for the given file.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Path to the file.

<comment>Return:</comment>
  <info>int|false</info>  Returns the file's permissions as a numeric mode. Lower bits of this mode are the same
             as the permissions expected by <strong>chmod()</strong>, however on most platforms the return value will
             also include information on the type of file given as <strong>$filename</strong>. The examples below
             demonstrate how to test the return value for specific permissions and file types on
             POSIX systems, including Linux and macOS.
             
             For local files, the specific return value is that of the <return>st_mode</return> member of the
             structure returned by the C library's <strong>stat()</strong> function. Exactly which bits are set can
             vary from platform to platform, and looking up your specific platform's documentation
             is recommended if parsing the non-permission bits of the return value is required.
             
             Returns <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>chmod()</strong>
   * <strong>is_readable()</strong>
   * <strong>stat()</strong>


id: filesize
type: function
doc:
<comment>Description:</comment>
  Gets file size
  
  Gets the size for the given file.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Path to the file.

<comment>Return:</comment>
  <info>int|false</info>  Returns the size of the file in bytes, or <info>false</info> (and generates an error of level
             <info>E_WARNING</info>) in case of an error.
             
             Because PHP's integer type is signed and many platforms use 32bit integers, some
             filesystem functions may return unexpected results for files which are larger than 2GB.

<comment>See Also:</comment>
   * <strong>file_exists()</strong>


id: filetype
type: function
doc:
<comment>Description:</comment>
  Gets file type
  
  Returns the type of the given file.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Path to the file.

<comment>Return:</comment>
  <info>string|false</info>  Returns the type of the file. Possible values are fifo, char, dir, block, link,
                file, socket and unknown.
                
                Returns <info>false</info> if an error occurs. <strong>filetype()</strong> will also produce an <info>E_NOTICE</info> message
                if the stat call fails or if the file type is unknown.

<comment>See Also:</comment>
   * <strong>is_dir()</strong>
   * <strong>is_file()</strong>
   * <strong>is_link()</strong>
   * <strong>file_exists()</strong>
   * <strong>mime_content_type()</strong>
   * <strong>pathinfo()</strong>
   * <strong>stat()</strong>


id: filter_has_var
type: function
doc:
<comment>Description:</comment>
  Checks if variable of specified type exists

<comment>Param:</comment>
  <info>int</info>     <strong>$input_type</strong>  One of <info>INPUT_GET</info>, <info>INPUT_POST</info>, <info>INPUT_COOKIE</info>, <info>INPUT_SERVER</info>, or <info>INPUT_ENV</info>.
  <info>string</info>  <strong>$var_name</strong>    Name of a variable to check.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.


id: filter_id
type: function
doc:
<comment>Description:</comment>
  Returns the filter ID belonging to a named filter

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  Name of a filter to get.

<comment>Return:</comment>
  <info>int|false</info>  ID of a filter on success or <info>false</info> if filter doesn't exist.

<comment>See Also:</comment>
   * <strong>filter_list()</strong>


id: filter_input
type: function
doc:
<comment>Description:</comment>
  Gets a specific external variable by name and optionally filters it

<comment>Param:</comment>
  <info>int</info>        <strong>$type</strong>      One of <info>INPUT_GET</info>, <info>INPUT_POST</info>, <info>INPUT_COOKIE</info>, <info>INPUT_SERVER</info>, or <info>INPUT_ENV</info>.
  <info>string</info>     <strong>$var_name</strong>  Name of a variable to get.
  <info>int</info>        <strong>$filter</strong>    The ID of the filter to apply. The  manual page lists the available filters.
                        
                        If omitted, <info>FILTER_DEFAULT</info> will be used, which is equivalent to
                        <info>FILTER_UNSAFE_RAW</info>. This will result in no filtering taking place by default.
  <info>array|int</info>  <strong>$options</strong>   Associative array of options or bitwise disjunction of flags. If filter
                        accepts options, flags can be provided in "flags" field of array.

<comment>Return:</comment>
  <info>mixed</info>  Value of the requested variable on success, <info>false</info> if the filter fails, or <info>null</info> if the
         <strong>$var_name</strong> variable is not set. If the flag <info>FILTER_NULL_ON_FAILURE</info> is used, it returns <info>false</info>
         if the variable is not set and <info>null</info> if the filter fails.

<comment>See Also:</comment>
   * <strong>filter_var()</strong>
   * <strong>filter_input_array()</strong>
   * <strong>filter_var_array()</strong>
   * 


id: filter_input_array
type: function
doc:
<comment>Description:</comment>
  Gets external variables and optionally filters them
  
  This function is useful for retrieving many values without repetitively calling <strong>filter_input()</strong>.

<comment>Param:</comment>
  <info>int</info>        <strong>$type</strong>       One of <info>INPUT_GET</info>, <info>INPUT_POST</info>, <info>INPUT_COOKIE</info>, <info>INPUT_SERVER</info>, or <info>INPUT_ENV</info>.
  <info>array|int</info>  <strong>$options</strong>    An array defining the arguments. A valid key is a <info>string</info> containing a
                         variable name and a valid value is either a filter type, or an <info>array</info>
                         optionally specifying the filter, flags and options. If the value is an
                         array, valid keys are <return>filter</return> which specifies the filter type, <return>flags</return> which
                         specifies any flags that apply to the filter, and <return>options</return> which specifies
                         any options that apply to the filter. See the example below for a better
                         understanding.
                         
                         This parameter can be also an integer holding a filter constant. Then all
                         values in the input array are filtered by this filter.
  <info>bool</info>       <strong>$add_empty</strong>  Add missing keys as <info>null</info> to the return value.

<comment>Return:</comment>
  <info>array|false|null</info>  An array containing the values of the requested variables on success. If the
                    input array designated by <strong>$type</strong> is not populated, the function returns <info>null</info> if
                    the <info>FILTER_NULL_ON_FAILURE</info> flag is not given, or <info>false</info> otherwise. For other
                    failures, <info>false</info> is returned.
                    
                    An array value will be <info>false</info> if the filter fails, or <info>null</info> if  the variable is
                    not set. Or if the flag <info>FILTER_NULL_ON_FAILURE</info> is used, it returns <info>false</info> if the
                    variable is not set and <info>null</info> if the filter  fails. If the <strong>$add_empty</strong> parameter
                    is <info>false</info>, no array element will be added for unset variables.

<comment>See Also:</comment>
   * <strong>filter_input()</strong>
   * <strong>filter_var_array()</strong>
   * 


id: filter_list
type: function
doc:
<comment>Description:</comment>
  Returns a list of all supported filters

<comment>Return:</comment>
  <info>array</info>  Returns an array of names of all supported filters, empty array if there are no such
         filters. Indexes of this array are not filter IDs, they can be obtained with <strong>filter_id()</strong>
         from a name instead.


id: filter_var
type: function
doc:
<comment>Description:</comment>
  Filters a variable with a specified filter

<comment>Param:</comment>
  <info>mixed</info>      <strong>$value</strong>    Value to filter. Note that scalar values are converted to string internally
                       before they are filtered.
  <info>int</info>        <strong>$filter</strong>   The ID of the filter to apply. The  manual page lists the available filters.
                       
                       If omitted, <info>FILTER_DEFAULT</info> will be used, which is equivalent to
                       <info>FILTER_UNSAFE_RAW</info>. This will result in no filtering taking place by default.
  <info>array|int</info>  <strong>$options</strong>  Associative array of options or bitwise disjunction of flags. If filter
                       accepts options, flags can be provided in "flags" field of array. For the
                       "callback" filter, <info>callable</info> type should be passed.  The callback must accept
                       one argument, the value to be filtered, and return the value after
                       filtering/sanitizing it.
                       
                        array( 'default' => 3, // value to return if the filter fails // other
                       options here 'min_range' => 0 ), 'flags' => FILTER_FLAG_ALLOW_OCTAL,
                       );
                       $var = filter_var('0755', FILTER_VALIDATE_INT, $options);
                       
                       // for filters that only accept flags, you can pass them directly
                       $var = filter_var('oops', FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE);
                       
                       // for filters that only accept flags, you can also pass as an array
                       $var = filter_var('oops', FILTER_VALIDATE_BOOLEAN, array('flags' =>
                       FILTER_NULL_ON_FAILURE));
                       
                       // callback validate filter
                       function foo($value)
                       { // Expected format: Surname, GivenNames if (strpos($value, ", ") === false)
                       return false; list($surname, $givennames) = explode(", ", $value, 2); $empty
                       = (empty($surname) || empty($givennames)); $notstrings =
                       (!is_string($surname) || !is_string($givennames)); if ($empty || $notstrings)
                       { return false; } else { return $value; }
                       }
                       $var = filter_var('Doe, Jane Sue', FILTER_CALLBACK, array('options' =>
                       'foo'));
                       ?> ]]>

<comment>Return:</comment>
  <info>mixed</info>  Returns the filtered data, or <info>false</info> if the filter fails.

<comment>See Also:</comment>
   * <strong>filter_var_array()</strong>
   * <strong>filter_input()</strong>
   * <strong>filter_input_array()</strong>
   * 


id: filter_var_array
type: function
doc:
<comment>Description:</comment>
  Gets multiple variables and optionally filters them
  
  This function is useful for retrieving many values without repetitively calling <strong>filter_var()</strong>.

<comment>Param:</comment>
  <info>array</info>      <strong>$array</strong>      An array with string keys containing the data to filter.
  <info>array|int</info>  <strong>$options</strong>    An array defining the arguments. A valid key is a <info>string</info> containing a
                         variable name and a valid value is either a filter type, or an <info>array</info>
                         optionally specifying the filter, flags and options. If the value is an
                         array, valid keys are <return>filter</return> which specifies the filter type, <return>flags</return> which
                         specifies any flags that apply to the filter, and <return>options</return> which specifies
                         any options that apply to the filter. See the example below for a better
                         understanding.
                         
                         This parameter can be also an integer holding a filter constant. Then all
                         values in the input array are filtered by this filter.
  <info>bool</info>       <strong>$add_empty</strong>  Add missing keys as <info>null</info> to the return value.

<comment>Return:</comment>
  <info>array|false|null</info>  An array containing the values of the requested variables on success, or <info>false</info>
                    on failure. An array value will be <info>false</info> if the filter fails, or <info>null</info> if  the
                    variable is not set.

<comment>See Also:</comment>
   * <strong>filter_input_array()</strong>
   * <strong>filter_var()</strong>
   * <strong>filter_input()</strong>
   * 


id: finfo
type: class
doc:
<comment>Description:</comment>
  This class provides an object-oriented interface into the fileinfo functions.


id: finfo::__construct
type: function
doc:
<comment>Description:</comment>
  Alias of finfo_open
  
  This function is an alias of:  <strong>finfo_open()</strong>


id: finfo::buffer
type: function
doc:
<comment>Description:</comment>
  Alias of finfo_buffer()
  
  This function is an alias of:  finfo_buffer()

<comment>Return:</comment>
  <info>string|false</info>  


id: finfo::file
type: function
doc:
<comment>Description:</comment>
  Alias of finfo_file()
  
  This function is an alias of:  finfo_file()

<comment>Return:</comment>
  <info>string|false</info>  


id: finfo::set_flags
type: function
doc:
<comment>Description:</comment>
  Alias of finfo_set_flags()
  
  This function is an alias of:  finfo_set_flags()

<comment>Return:</comment>
  <info>bool</info>  


id: finfo_buffer
type: function
doc:
<comment>Description:</comment>
  Return information about a string buffer
  
  Procedural style
  
  Object-oriented style
  
  This function is used to get information about binary data in a string.

<comment>Param:</comment>
  <info>finfo</info>          <strong>$finfo</strong>    An <class>finfo</class> instance, returned by <strong>finfo_open()</strong>.
  <info>string</info>         <strong>$string</strong>   Content of a file to be checked.
  <info>int</info>            <strong>$flags</strong>    One or disjunction of more Fileinfo constants.
  <info>resource|null</info>  <strong>$context</strong>  

<comment>Return:</comment>
  <info>string|false</info>  Returns a textual description of the <strong>$string</strong> argument, or <info>false</info> if an error
                occurred.

<comment>See Also:</comment>
   * <strong>finfo_file()</strong>


id: finfo_close
type: function
doc:
<comment>Description:</comment>
  Close finfo instance
  
  This function closes the instance opened by <strong>finfo_open()</strong>.

<comment>Param:</comment>
  <info>finfo</info>  <strong>$finfo</strong>  An <class>finfo</class> instance, returned by <strong>finfo_open()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.


id: finfo_file
type: function
doc:
<comment>Description:</comment>
  Return information about a file
  
  Procedural style
  
  Object-oriented style
  
  This function is used to get information about a file.

<comment>Param:</comment>
  <info>finfo</info>          <strong>$finfo</strong>     An <class>finfo</class> instance, returned by <strong>finfo_open()</strong>.
  <info>string</info>         <strong>$filename</strong>  Name of a file to be checked.
  <info>int</info>            <strong>$flags</strong>     One or disjunction of more Fileinfo constants.
  <info>resource|null</info>  <strong>$context</strong>   For a description of <return>contexts</return>, refer to .

<comment>Return:</comment>
  <info>string|false</info>  Returns a textual description of the contents of the <strong>$filename</strong> argument, or <info>false</info> if
                an error occurred.

<comment>See Also:</comment>
   * <strong>finfo_buffer()</strong>


id: finfo_open
type: function
doc:
<comment>Description:</comment>
  Create a new finfo instance
  
  Procedural style
  
  Object-oriented style (constructor):
  
  This function opens a magic database and returns its instance.

<comment>Param:</comment>
  <info>int</info>          <strong>$flags</strong>           One or disjunction of more Fileinfo constants.
  <info>string|null</info>  <strong>$magic_database</strong>  Name of a magic database file, usually something like
                                /path/to/magic.mime. If not specified, the <return>MAGIC</return> environment
                                variable is used. If the environment variable isn't set, then PHP's
                                bundled magic database will be used.
                                
                                Passing <info>null</info> or an empty string will be equivalent to the default
                                value.

<comment>Return:</comment>
  <info>finfo|false</info>  (Procedural style only) Returns an <class>finfo</class> instance on success, or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>finfo_close()</strong>


id: finfo_set_flags
type: function
doc:
<comment>Description:</comment>
  Set libmagic configuration options
  
  Procedural style
  
  Object-oriented style
  
  This function sets various Fileinfo options. Options can be set also directly in <strong>finfo_open()</strong> or
  other Fileinfo functions.

<comment>Param:</comment>
  <info>finfo</info>  <strong>$finfo</strong>  An <class>finfo</class> instance, returned by <strong>finfo_open()</strong>.
  <info>int</info>    <strong>$flags</strong>  One or disjunction of more Fileinfo constants.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.


id: floatval
type: function
doc:
<comment>Description:</comment>
  Get float value of a variable
  
  Gets the <info>float</info> value of <strong>$value</strong>.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>  May be any scalar type. <strong>floatval()</strong> should not be used on objects, as doing so will
                 emit an <info>E_WARNING</info> level error and return 1.

<comment>Return:</comment>
  <info>float</info>  The float value of the given variable. Empty arrays return 0, non-empty arrays return 1.
         
         Strings will most likely return 0 although this depends on the  leftmost characters of the
         string. The common rules of  float casting  apply.

<comment>See Also:</comment>
   * <strong>boolval()</strong>
   * <strong>intval()</strong>
   * <strong>strval()</strong>
   * <strong>settype()</strong>
   * Type juggling


id: flock
type: function
doc:
<comment>Description:</comment>
  Portable advisory file locking
  
  <strong>flock()</strong> allows you to perform a simple reader/writer model which can be used on virtually every
  platform (including most Unix derivatives and even Windows).
  
  The lock is released also by <strong>fclose()</strong>, or when <strong>$stream</strong> is garbage collected.
  
  PHP supports a portable way of locking complete files in an advisory way (which means all
  accessing programs have to use the same way of locking or it will not work). By default, this
  function will block until the requested lock is acquired; this may be controlled with the <info>LOCK_NB</info>
  option documented below.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>       A file system pointer <info>resource</info>
                          that is typically created using <strong>fopen()</strong>.
  <info>int</info>       <strong>$operation</strong>    <strong>$operation</strong> is one of the following: <info>LOCK_SH</info> to acquire a shared lock
                          (reader). <info>LOCK_EX</info> to acquire an exclusive lock (writer). <info>LOCK_UN</info> to
                          release a lock (shared or exclusive).
                          
                          <info>LOCK_SH</info> to acquire a shared lock (reader).
                          
                          <info>LOCK_EX</info> to acquire an exclusive lock (writer).
                          
                          <info>LOCK_UN</info> to release a lock (shared or exclusive).
                          
                          It is also possible to add <info>LOCK_NB</info> as a bitmask to one  of the above
                          operations, if <strong>flock()</strong> should not block during the locking attempt.
  <info>int</info>       <strong>$would_block</strong>  The optional third argument is set to 1 if the lock would block
                          (EWOULDBLOCK errno condition).

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.


id: floor
type: function
doc:
<comment>Description:</comment>
  Round fractions down
  
  Returns the next lowest integer value (as float) by rounding down <strong>$num</strong> if necessary.

<comment>Param:</comment>
  <info>int|float</info>  <strong>$num</strong>  The numeric value to round

<comment>Return:</comment>
  <info>float</info>  <strong>$num</strong> rounded to the next lowest integer. The return value of <strong>floor()</strong> is still of type
         <info>float</info>.

<comment>See Also:</comment>
   * <strong>ceil()</strong>
   * <strong>round()</strong>


id: flush
type: function
doc:
<comment>Description:</comment>
  Flush system output buffer
  
  Flushes the system write buffers of PHP and whatever backend PHP is using (CGI, a web server,
  etc).  This attempts to push current output all the way to the browser with a few caveats.
  
  <strong>flush()</strong> may not be able to override the buffering scheme of your web server and it has no effect
  on any client-side buffering in the browser.  It also doesn't affect PHP's userspace output
  buffering mechanism. This means <strong>ob_flush()</strong> should be called before <strong>flush()</strong> to flush the output
  buffers if they are in use.
  
  Several servers, especially on Win32, will still buffer the output from your script until it
  terminates before transmitting the results to the browser.
  
  Server modules for Apache like mod_gzip may do buffering of their own that will cause <strong>flush()</strong> to
  not result in data being sent immediately to the client.
  
  Even the browser may buffer its input before displaying it. Netscape, for example, buffers text
  until it receives an end-of-line or the beginning of a tag, and it won't render tables until the \</table&gt; tag of the outermost table is seen.
  
  Some versions of Microsoft Internet Explorer will only start to display the page after they have
  received 256 bytes of output, so you may need to send extra whitespace before flushing to get
  those browsers to display the page.

<comment>Return:</comment>
  <info>void</info>  No value is returned.

<comment>See Also:</comment>
   * <strong>ob_flush()</strong>
   * <strong>ob_clean()</strong>
   * <strong>ob_end_flush()</strong>
   * <strong>ob_end_clean()</strong>


id: fmod
type: function
doc:
<comment>Description:</comment>
  Returns the floating point remainder (modulo) of the division
    of the arguments
  
  Returns the floating point remainder of dividing the dividend (<strong>$num1</strong>) by the divisor (<strong>$num2</strong>). The
  remainder (r) is defined as: num1 = i * num2 + r, for  some integer i. If <strong>$num2</strong> is non-zero, r has
  the same sign as <strong>$num1</strong> and a magnitude less than the magnitude of <strong>$num2</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$num1</strong>  The dividend
  <info>float</info>  <strong>$num2</strong>  The divisor

<comment>Return:</comment>
  <info>float</info>  The floating point remainder of  <strong>$num1</strong>/<strong>$num2</strong>

<comment>See Also:</comment>
   * <return>/</return> - Floating-point division
   * <return>%</return> - Integer modulus
   * <strong>intdiv()</strong> - Integer division


id: fnmatch
type: function
doc:
<comment>Description:</comment>
  Match filename against a pattern
  
  <strong>fnmatch()</strong> checks if the passed <strong>$filename</strong> would match the given shell wildcard <strong>$pattern</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$pattern</strong>   The shell wildcard pattern.
  <info>string</info>  <strong>$filename</strong>  The tested string. This function is especially useful for filenames, but may
                     also be used on regular strings.
                     
                     The average user may be used to shell patterns or at least in their simplest
                     form to <return>'?'</return> and <return>'*'</return> wildcards so using <strong>fnmatch()</strong> instead of <strong>preg_match()</strong> for
                     frontend search expression input may be way more convenient for non-programming
                     users.
  <info>int</info>     <strong>$flags</strong>     The value of <strong>$flags</strong> can be any combination of  the following flags, joined with
                     the binary OR (|) operator.  A list of possible flags for <strong>fnmatch()</strong>
                     <strong>$Flag</strong>Description<info>FNM_NOESCAPE</info> Disable backslash escaping. <info>FNM_PATHNAME</info> Slash in
                     string only matches slash in the given pattern. <info>FNM_PERIOD</info> Leading period in
                     string must be exactly matched by period in the given pattern. <info>FNM_CASEFOLD</info>
                     Caseless match. Part of the GNU extension.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if there is a match, <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>glob()</strong>
   * <strong>preg_match()</strong>
   * <strong>sscanf()</strong>
   * <strong>printf()</strong>
   * <strong>sprintf()</strong>


id: fopen
type: function
doc:
<comment>Description:</comment>
  Opens file or URL
  
  <strong>fopen()</strong> binds a named resource, specified by <strong>$filename</strong>, to a stream.

<comment>Param:</comment>
  <info>string</info>         <strong>$filename</strong>          If <strong>$filename</strong> is of the form "scheme://...", it is assumed to be
                                    a URL and PHP will search for a protocol handler (also known as
                                    a wrapper) for that scheme. If no wrappers for that protocol are
                                    registered, PHP will emit a notice to help you track potential
                                    problems in your script and then continue as though <strong>$filename</strong>
                                    specifies a regular file.
                                    
                                    If PHP has decided that <strong>$filename</strong> specifies a local file, then
                                    it will try to open a stream on that file. The file must be
                                    accessible to PHP, so you need to ensure that the file access
                                    permissions allow this access. If you have enabled open_basedir
                                    further restrictions may apply.
                                    
                                    If PHP has decided that <strong>$filename</strong> specifies a registered
                                    protocol, and that protocol is registered as a network URL, PHP
                                    will check to make sure that allow_url_fopen is enabled. If it
                                    is switched off, PHP will emit a warning and the fopen call will
                                    fail.
                                    
                                    The list of supported protocols can be found in . Some protocols
                                    (also referred to as <return>wrappers</return>) support <return>context</return> and/or php.ini
                                    options. Refer to the specific page for the protocol in use for
                                    a list of options which can be set. (e.g. php.ini value
                                    <return>user_agent</return> used by the <return>http</return> wrapper).
                                    
                                    On the Windows platform, be careful to escape any backslashes
                                    used in the path to the file, or use forward slashes.
                                    ]]>
  <info>string</info>         <strong>$mode</strong>              The <strong>$mode</strong> parameter specifies the type of access you require to
                                    the stream.  It may be any of the following:  A list of possible
                                    modes for <strong>fopen()</strong> using <strong>$mode</strong> <strong>$mode</strong>Description<return>'r'</return> Open for
                                    reading only; place the file pointer at the beginning of the
                                    file. <return>'r+'</return> Open for reading and writing; place the file pointer
                                    at the beginning of the file. <return>'w'</return> 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. <return>'w+'</return> Open for reading and writing; otherwise it has
                                    the same behavior as <return>'w'</return>. <return>'a'</return> Open for writing only; place the
                                    file pointer at the end of the file. If the file does not exist,
                                    attempt to create it. In this mode, <strong>fseek()</strong> has no effect,
                                    writes are always appended. <return>'a+'</return> 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. In this mode, <strong>fseek()</strong> only
                                    affects the reading position, writes are always appended. <return>'x'</return>
                                    Create and open for writing only; place the file pointer at the
                                    beginning of the file.  If the file already exists, the <strong>fopen()</strong>
                                    call will fail by returning <info>false</info> and generating an error of
                                    level <info>E_WARNING</info>.  If the file does not exist, attempt to create
                                    it.  This is equivalent to specifying <return>O_EXCL|O_CREAT</return> flags for
                                    the underlying <return>open(2)</return> system call.  <return>'x+'</return> Create and open for
                                    reading and writing; otherwise it has the same behavior as <return>'x'</return>.
                                    <return>'c'</return> Open the file for writing only. If the file does not exist,
                                    it is created. If it exists, it is neither truncated (as opposed
                                    to <return>'w'</return>), nor the call to this function fails (as is the case
                                    with <return>'x'</return>). The file pointer is positioned on the beginning of
                                    the file. This may be useful if it's desired to get an advisory
                                    lock (see <strong>flock()</strong>) before attempting to modify the file, as
                                    using <return>'w'</return> could truncate the file before the lock was obtained
                                    (if truncation is desired, <strong>ftruncate()</strong> can be used after the
                                    lock is requested). <return>'c+'</return> Open the file for reading and writing;
                                    otherwise it has the same behavior as <return>'c'</return>. <return>'e'</return> Set close-on-exec
                                    flag on the opened file descriptor. Only available in PHP
                                    compiled on POSIX.1-2008 conform systems.
                                    
                                    Different operating system families have different line-ending
                                    conventions.  When you write a text file and want to insert a
                                    line break, you need to use the correct line-ending character(s)
                                    for your operating system.  Unix based systems use <return>\n</return> as the
                                    line ending character, Windows based systems use <return>\r\n</return> as the
                                    line ending characters and Macintosh based systems (Mac OS
                                    Classic) used <return>\r</return> as the line ending character.
                                    
                                    If you use the wrong line ending characters when writing your
                                    files, you might find that other applications that open those
                                    files will "look funny".
                                    
                                    Windows offers a text-mode translation flag (<return>'t'</return>) which will
                                    transparently translate <return>\n</return> to <return>\r\n</return> when working with the file.
                                    In contrast, you can also use <return>'b'</return> to force binary mode, which
                                    will not translate your data.  To use these flags, specify
                                    either <return>'b'</return> or <return>'t'</return> as the last character of the <strong>$mode</strong> parameter.
                                    
                                    The default translation mode is <return>'b'</return>. You can use the <return>'t'</return> mode if
                                    you are working with plain-text files and you use <return>\n</return> to delimit
                                    your line endings in your script, but expect your files to be
                                    readable with applications such as old versions of notepad.  You
                                    should use the <return>'b'</return> in all other cases.
                                    
                                    If you specify the 't' flag when working with binary files, you
                                    may experience strange problems with your data, including broken
                                    image files and strange problems with <return>\r\n</return> characters.
                                    
                                    For portability, it is also strongly recommended that you
                                    re-write code that uses or relies upon the <return>'t'</return> mode so that it
                                    uses the correct line endings and <return>'b'</return> mode instead.
                                    
                                    The <strong>$mode</strong> is ignored for php://output, php://input, php://stdin,
                                    php://stdout, php://stderr and php://fd stream wrappers.
  <info>bool</info>           <strong>$use_include_path</strong>  The optional third <strong>$use_include_path</strong> parameter can be set to '1'
                                    or <info>true</info> if you want to search for the file in the include_path,
                                    too.
  <info>resource|null</info>  <strong>$context</strong>           A context stream
                                    <info>resource</info>.

<comment>Return:</comment>
  <info>resource|false</info>  Returns a file pointer resource on success, or <info>false</info> on failure

<comment>See Also:</comment>
   * 
   * <strong>fclose()</strong>
   * <strong>fgets()</strong>
   * <strong>fread()</strong>
   * <strong>fwrite()</strong>
   * <strong>fsockopen()</strong>
   * <strong>file()</strong>
   * <strong>file_exists()</strong>
   * <strong>is_readable()</strong>
   * <strong>stream_set_timeout()</strong>
   * <strong>popen()</strong>
   * <strong>stream_context_create()</strong>
   * <strong>umask()</strong>
   * <class>SplFileObject</class>


id: forward_static_call
type: function
doc:
<comment>Description:</comment>
  Call a static method
  
  Calls a user defined function or method given by the <strong>$callback</strong> parameter, with the following
  arguments. This function must be called within a method context, it can't be used outside a class.
  It uses the late static binding.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  The function or method to be called. This parameter may be an array, with the
                       name of the class, and the method, or a string, with a function name.
  <info>mixed</info>     <strong>$args</strong>      Zero or more parameters to be passed to the function.

<comment>Return:</comment>
  <info>mixed</info>  Returns the function result, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>forward_static_call_array()</strong>
   * <strong>call_user_func_array()</strong>
   * <strong>call_user_func()</strong>
   * <strong>is_callable()</strong>


id: forward_static_call_array
type: function
doc:
<comment>Description:</comment>
  Call a static method and pass the arguments as array
  
  Calls a user defined function or method given by the <strong>$callback</strong> parameter. This function must be
  called within a method context, it can't be  used outside a class. It uses the late static
  binding. All arguments of the forwarded method are passed as values, and as an array, similarly to
  <strong>call_user_func_array()</strong>.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>   The function or method to be called. This parameter may be an <info>array</info>, with
                        the name of the class, and the method, or a <info>string</info>, with a function name.
  <info></info>          <strong>$parameter</strong>  One parameter, gathering all the method parameter in one array.
                        
                        Note that the parameters for <strong>forward_static_call_array()</strong> are not passed by
                        reference.

<comment>Return:</comment>
  <info>mixed</info>  Returns the function result, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>forward_static_call()</strong>
   * <strong>call_user_func()</strong>
   * <strong>call_user_func_array()</strong>
   * <strong>is_callable()</strong>


id: fpassthru
type: function
doc:
<comment>Description:</comment>
  Output all remaining data on a file pointer
  
  Reads to EOF on the given file pointer from the current position and writes the results to the
  output buffer.
  
  You may need to call <strong>rewind()</strong> to reset the file pointer to the beginning of the file if you have
  already written data to the file.
  
  If you just want to dump the contents of a file to the output buffer, without first modifying it
  or seeking to a particular offset, you may want to use the <strong>readfile()</strong>, which saves you the <strong>fopen()</strong>
  call.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  The file pointer must be valid, and must point to
                     a file successfully opened by <strong>fopen()</strong> or
                     <strong>fsockopen()</strong> (and not yet closed by
                     <strong>fclose()</strong>).

<comment>Return:</comment>
  <info>int</info>  Returns the number of characters read from <strong>$stream</strong> and passed through to the output.

<comment>See Also:</comment>
   * <strong>readfile()</strong>
   * <strong>fopen()</strong>
   * <strong>popen()</strong>
   * <strong>fsockopen()</strong>


id: fpm_get_status
type: function
doc:
<comment>Description:</comment>
  Returns the current FPM pool status
  
  This function returns the full current FPM pool status as an associative array. It always returns
  the full status, including per-process status information. See the FPM status page guide for
  further details.
  
  Note that this function will only be defined if FPM is being used to serve the script.

<comment>Return:</comment>
  <info>array|false</info>  Associative array containing the full FPM pool status, or <info>false</info> on failure.


id: fprintf
type: function
doc:
<comment>Description:</comment>
  Write a formatted string to a stream
  
  Write a string produced according to <strong>$format</strong> to the stream resource specified by <strong>$stream</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  A file system pointer <info>resource</info>
                     that is typically created using <strong>fopen()</strong>.
  <info>string</info>    <strong>$format</strong>  The format string is composed of zero or more directives: ordinary characters
                     (excluding <return>%</return>) that are copied directly to the result and conversion
                     specifications, each of which results in fetching its own parameter.
                     
                     A conversion specification follows this prototype:
                     <return>%[argnum$][flags][width][.precision]specifier</return>.
                     
                     An integer followed by a dollar sign <return>$</return>, to specify which number argument to
                     treat in the conversion.
                     
                     FlagsFlagDescription<return>-</return> Left-justify within the given field width; Right
                     justification is the default <return>+</return> Prefix positive numbers with a plus sign <return>+</return>;
                     Default only negative are prefixed with a negative sign. <return> </return>(space) Pads the
                     result with spaces. This is the default. <return>0</return> Only left-pads numbers with zeros.
                     With <return>s</return> specifiers this can also right-pad with zeros. <return>'</return>(char) Pads the result
                     with the character (char).
                     
                     Either an integer that says how many characters (minimum) this conversion
                     should result in, or <return>*</return>. If <return>*</return> is used, then the width is supplied as an
                     additional integer value preceding the one formatted by the specifier.
                     
                     A period <return>.</return> optionally followed by either an integer or <return>*</return>, whose meaning depends
                     on the specifier:  For <return>e</return>, <return>E</return>, <return>f</return> and <return>F</return> specifiers: this is the number of digits
                     to be printed after the decimal point (by default, this is 6).  For <return>g</return>, <return>G</return>, <return>h</return> and
                     <return>H</return> specifiers: this is the maximum number of significant digits to be printed.
                     For <return>s</return> specifier: it acts as a cutoff point, setting a maximum character limit
                     to the string.   If the period is specified without an explicit value for
                     precision, 0 is assumed. If <return>*</return> is used, the precision is supplied as an
                     additional integer value preceding the one formatted by the specifier.
                     
                     For <return>e</return>, <return>E</return>, <return>f</return> and <return>F</return> specifiers: this is the number of digits to be printed after
                     the decimal point (by default, this is 6).
                     
                     For <return>g</return>, <return>G</return>, <return>h</return> and <return>H</return> specifiers: this is the maximum number of significant digits
                     to be printed.
                     
                     For <return>s</return> specifier: it acts as a cutoff point, setting a maximum character limit
                     to the string.
                     
                     If the period is specified without an explicit value for precision, 0 is
                     assumed. If <return>*</return> is used, the precision is supplied as an additional integer value
                     preceding the one formatted by the specifier.
                     
                     SpecifiersSpecifierDescription<return>%</return> A literal percent character. No argument is
                     required. <return>b</return> The argument is treated as an integer and presented as a binary
                     number. <return>c</return> The argument is treated as an integer and presented as the character
                     with that ASCII. <return>d</return> The argument is treated as an integer and presented as a
                     (signed) decimal number. <return>e</return> The argument is treated as scientific notation (e.g.
                     1.2e+2). <return>E</return> Like the <return>e</return> specifier but uses uppercase letter (e.g. 1.2E+2). <return>f</return> The
                     argument is treated as a float and presented as a floating-point number (locale
                     aware). <return>F</return> The argument is treated as a float and presented as a floating-point
                     number (non-locale aware). <return>g</return> General format.  Let P equal the precision if
                     nonzero, 6 if the precision is omitted, or 1 if the precision is zero. Then, if
                     a conversion with style E would have an exponent of X:  If P &gt; X ≥ −4, the
                     conversion is with style f and precision P − (X + 1). Otherwise, the conversion
                     is with style e and precision P − 1. <return>G</return> Like the <return>g</return> specifier but uses <return>E</return> and <return>f</return>. <return>h</return>
                     Like the <return>g</return> specifier but uses <return>F</return>. Available as of PHP 8.0.0. <return>H</return> Like the <return>g</return>
                     specifier but uses <return>E</return> and <return>F</return>. Available as of PHP 8.0.0. <return>o</return> The argument is
                     treated as an integer and presented as an octal number. <return>s</return> The argument is
                     treated and presented as a string. <return>u</return> The argument is treated as an integer and
                     presented as an unsigned decimal number. <return>x</return> The argument is treated as an
                     integer and presented as a hexadecimal number (with lowercase letters). <return>X</return> The
                     argument is treated as an integer and presented as a hexadecimal number (with
                     uppercase letters).
                     
                     General format.
                     
                     Let P equal the precision if nonzero, 6 if the precision is omitted, or 1 if
                     the precision is zero. Then, if a conversion with style E would have an
                     exponent of X:
                     
                     If P &gt; X ≥ −4, the conversion is with style f and precision P − (X + 1).
                     Otherwise, the conversion is with style e and precision P − 1.
                     
                     The <return>c</return> type specifier ignores padding and width
                     
                     Attempting to use a combination of the string and width specifiers with
                     character sets that require more than one byte per character may result in
                     unexpected results
                     
                     Variables will be co-erced to a suitable type for the specifier: Type
                     HandlingTypeSpecifiers<info>string</info><return>s</return><info>int</info><return>d</return>, <return>u</return>, <return>c</return>, <return>o</return>, <return>x</return>, <return>X</return>, <return>b</return><info>float</info><return>e</return>, <return>E</return>, <return>f</return>, <return>F</return>, <return>g</return>, <return>G</return>, <return>h</return>, <return>H</return>
  <info>mixed</info>     <strong>$values</strong>  

<comment>Return:</comment>
  <info>int</info>  Returns the length of the string written.

<comment>See Also:</comment>
   * <strong>printf()</strong>
   * <strong>sprintf()</strong>
   * <strong>vprintf()</strong>
   * <strong>vsprintf()</strong>
   * <strong>vfprintf()</strong>
   * <strong>sscanf()</strong>
   * <strong>fscanf()</strong>
   * <strong>number_format()</strong>
   * <strong>date()</strong>


id: fputcsv
type: function
doc:
<comment>Description:</comment>
  Format line as CSV and write to file pointer
  
  <strong>fputcsv()</strong> formats a line (passed as a <strong>$fields</strong> array) as CSV and writes it (terminated by a
  newline) to the specified file <strong>$stream</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>     The file pointer must be valid, and must point to
                        a file successfully opened by <strong>fopen()</strong> or
                        <strong>fsockopen()</strong> (and not yet closed by
                        <strong>fclose()</strong>).
  <info>array</info>     <strong>$fields</strong>     An array of <info>string</info>s.
  <info>string</info>    <strong>$separator</strong>  The optional <strong>$separator</strong> parameter sets the field delimiter (one single-byte
                        character only).
  <info>string</info>    <strong>$enclosure</strong>  The optional <strong>$enclosure</strong> parameter sets the field enclosure (one single-byte
                        character only).
  <info>string</info>    <strong>$escape</strong>     The optional <strong>$escape</strong> parameter sets the escape character (at most one
                        single-byte character). An empty string (<return>""</return>) disables the proprietary escape
                        mechanism.
  <info>string</info>    <strong>$eol</strong>        The optional <strong>$eol</strong> parameter sets a custom End of Line sequence.

<comment>Return:</comment>
  <info>int|false</info>  Returns the length of the written string  or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>fgetcsv()</strong>


id: fputs
type: function
doc:
<comment>Description:</comment>
  Alias of fwrite
  
  This function is an alias of:  <strong>fwrite()</strong>.


id: fread
type: function
doc:
<comment>Description:</comment>
  Binary-safe file read
  
  <strong>fread()</strong> reads up to <strong>$length</strong> bytes from the file pointer referenced by <strong>$stream</strong>. Reading stops as
  soon as one of the following conditions is met: <strong>$length</strong> bytes have been read  EOF (end of file) is
  reached  a packet becomes available or the  socket timeout occurs (for network streams)  if the
  stream is read buffered and it does not represent a plain file, at most one read of up to a number
  of bytes equal to the chunk size (usually 8192) is made; depending on the previously buffered
  data, the size of the returned data may be larger than the chunk size.
  
  <strong>$length</strong> bytes have been read
  
  EOF (end of file) is reached
  
  a packet becomes available or the  socket timeout occurs (for network streams)
  
  if the stream is read buffered and it does not represent a plain file, at most one read of up to a
  number of bytes equal to the chunk size (usually 8192) is made; depending on the previously
  buffered data, the size of the returned data may be larger than the chunk size.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  A file system pointer <info>resource</info>
                     that is typically created using <strong>fopen()</strong>.
  <info>int</info>       <strong>$length</strong>  Up to <strong>$length</strong> number of bytes read.

<comment>Return:</comment>
  <info>string|false</info>  Returns the read string  or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>fwrite()</strong>
   * <strong>fopen()</strong>
   * <strong>fsockopen()</strong>
   * <strong>popen()</strong>
   * <strong>fgets()</strong>
   * <strong>fgetss()</strong>
   * <strong>fscanf()</strong>
   * <strong>file()</strong>
   * <strong>fpassthru()</strong>
   * <strong>fseek()</strong>
   * <strong>ftell()</strong>
   * <strong>rewind()</strong>
   * <strong>unpack()</strong>


id: frenchtojd
type: function
doc:
<comment>Description:</comment>
  Converts a date from the French Republican Calendar to a Julian Day Count
  
  Converts a date from the French Republican Calendar to a Julian Day Count.
  
  These routines only convert dates in years 1 through 14 (Gregorian dates 22 September 1792 through
  22 September 1806). This more than covers the period when the calendar was in use.

<comment>Param:</comment>
  <info>int</info>  <strong>$month</strong>  The month as a number from 1 (for Vendémiaire) to 13 (for the period of 5-6 days at
               the end of each year)
  <info>int</info>  <strong>$day</strong>    The day as a number from 1 to 30
  <info>int</info>  <strong>$year</strong>   The year as a number between 1 and 14

<comment>Return:</comment>
  <info>int</info>  The julian day for the given french revolution date as an integer.

<comment>See Also:</comment>
   * <strong>jdtofrench()</strong>
   * <strong>cal_to_jd()</strong>


id: fscanf
type: function
doc:
<comment>Description:</comment>
  Parses input from a file according to a format
  
  The function <strong>fscanf()</strong> is similar to <strong>sscanf()</strong>, but it takes its input from a file associated with
  <strong>$stream</strong> and interprets the input according to the specified <strong>$format</strong>.
  
  Any whitespace in the format string matches any whitespace in the input stream. This means that
  even a tab (<return>\t</return>) in the format string can match a single space character in the input stream.
  
  Each call to <strong>fscanf()</strong> reads one line from the file.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  A file system pointer <info>resource</info>
                     that is typically created using <strong>fopen()</strong>.
  <info>string</info>    <strong>$format</strong>  The interpreted format for <strong>$string</strong>, which is described in the documentation for
                     <strong>sprintf()</strong> with following differences:  Function is not locale-aware. <return>F</return>, <return>g</return>, <return>G</return>
                     and <return>b</return> are not supported. <return>D</return> stands for decimal number. <return>i</return> stands for integer with
                     base detection. <return>n</return> stands for number of characters processed so far. <return>s</return> stops
                     reading at any whitespace character. <return>*</return> instead of <return>argnum$</return> suppresses the
                     assignment of this conversion specification.
  <info>mixed</info>     <strong>$vars</strong>    The optional assigned values.

<comment>Return:</comment>
  <info>array|int|false|null</info>  If only two parameters were passed to this function, the values parsed will
                        be returned as an array. Otherwise, if optional parameters are passed, the
                        function will return the number of assigned values. The optional parameters
                        must be passed by reference.
                        
                        If there are more substrings expected in the <strong>$format</strong> than there are
                        available within <strong>$string</strong>, <info>null</info> will be returned. On other errors, <info>false</info> will
                        be returned.

<comment>See Also:</comment>
   * <strong>fread()</strong>
   * <strong>fgets()</strong>
   * <strong>fgetss()</strong>
   * <strong>sscanf()</strong>
   * <strong>printf()</strong>
   * <strong>sprintf()</strong>


id: fseek
type: function
doc:
<comment>Description:</comment>
  Seeks on a file pointer
  
  Sets the file position indicator for the file referenced by <strong>$stream</strong>. The new position, measured in
  bytes from the beginning of the file, is obtained by adding <strong>$offset</strong> to the position specified by
  <strong>$whence</strong>.
  
  In general, it is allowed to seek past the end-of-file; if data is then written, reads in any
  unwritten region between the end-of-file and the sought position will yield bytes with value 0.
  However, certain streams may not support this behavior, especially when they have an underlying
  fixed size storage.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  A file system pointer <info>resource</info>
                     that is typically created using <strong>fopen()</strong>.
  <info>int</info>       <strong>$offset</strong>  The offset.
                     
                     To move to a position before the end-of-file, you need to pass a negative value
                     in <strong>$offset</strong> and set <strong>$whence</strong> to <info>SEEK_END</info>.
  <info>int</info>       <strong>$whence</strong>  <strong>$whence</strong> values are: <info>SEEK_SET</info> - Set position equal to <strong>$offset</strong> bytes.<info>SEEK_CUR</info> -
                     Set position to current location plus <strong>$offset</strong>.<info>SEEK_END</info> - Set position to
                     end-of-file plus <strong>$offset</strong>.

<comment>Return:</comment>
  <info>int</info>  Upon success, returns 0; otherwise, returns -1.

<comment>See Also:</comment>
   * <strong>ftell()</strong>
   * <strong>rewind()</strong>


id: fsockopen
type: function
doc:
<comment>Description:</comment>
  Open Internet or Unix domain socket connection
  
  Initiates a socket connection to the resource specified by <strong>$hostname</strong>.
  
  PHP supports targets in the Internet and Unix domains as described in .  A list of supported
  transports can also be retrieved using <strong>stream_get_transports()</strong>.
  
  The socket will by default be opened in blocking mode.  You can switch it to non-blocking mode by
  using <strong>stream_set_blocking()</strong>.
  
  The function <strong>stream_socket_client()</strong> is similar but provides a richer set of options, including
  non-blocking connection and the ability to provide a stream context.

<comment>Param:</comment>
  <info>string</info>      <strong>$hostname</strong>       If OpenSSL support is installed, you may prefix the <strong>$hostname</strong> with
                              either <return>ssl://</return> or <return>tls://</return> to use an SSL or TLS client connection over
                              TCP/IP to connect to the remote host.
  <info>int</info>         <strong>$port</strong>           The port number. This can be omitted and skipped with <return>-1</return> for
                              transports that do not use ports, such as <return>unix://</return>.
  <info>int</info>         <strong>$error_code</strong>     If provided, holds the system level error number that occurred in the
                              system-level <return>connect()</return> call.
                              
                              If the value returned in <strong>$error_code</strong> is <return>0</return> and the function returned
                              <info>false</info>, it is an indication that the error occurred before the
                              <return>connect()</return> call. This is most likely due to a problem initializing the
                              socket.
  <info>string</info>      <strong>$error_message</strong>  The error message as a string.
  <info>float|null</info>  <strong>$timeout</strong>        The connection timeout, in seconds. When <info>null</info>, the
                              default_socket_timeout php.ini setting is used.
                              
                              If you need to set a timeout for reading/writing data over the socket,
                              use <strong>stream_set_timeout()</strong>, as the <strong>$timeout</strong> parameter to <strong>fsockopen()</strong>
                              only applies while connecting the socket.

<comment>Return:</comment>
  <info>resource|false</info>  <strong>fsockopen()</strong> returns a file pointer which may be used together with the other file
                  functions (such as <strong>fgets()</strong>, <strong>fgetss()</strong>, <strong>fwrite()</strong>, <strong>fclose()</strong>, and <strong>feof()</strong>). If the call
                  fails, it will return <info>false</info>

<comment>See Also:</comment>
   * <strong>pfsockopen()</strong>
   * <strong>stream_socket_client()</strong>
   * <strong>stream_set_blocking()</strong>
   * <strong>stream_set_timeout()</strong>
   * <strong>fgets()</strong>
   * <strong>fgetss()</strong>
   * <strong>fwrite()</strong>
   * <strong>fclose()</strong>
   * <strong>feof()</strong>
   * <strong>socket_connect()</strong>
   * The Curl extension


id: fstat
type: function
doc:
<comment>Description:</comment>
  Gets information about a file using an open file pointer
  
  Gathers the statistics of the file opened by the file pointer <strong>$stream</strong>. This function is similar to
  the <strong>stat()</strong> function except that it operates on an open file pointer instead of a filename.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  A file system pointer <info>resource</info>
                     that is typically created using <strong>fopen()</strong>.

<comment>Return:</comment>
  <info>array|false</info>  Returns an array with the statistics of the file; the format of the array is
               described in detail on the <strong>stat()</strong> manual page. Returns <info>false</info> on failure.


id: fsync
type: function
doc:
<comment>Description:</comment>
  Synchronizes changes to the file (including meta-data)
  
  This function synchronizes changes to the file, including its meta-data. This is similar to
  <strong>fflush()</strong>, but it also instructs the operating system to write to the storage media.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  The file pointer must be valid, and must point to
                     a file successfully opened by <strong>fopen()</strong> or
                     <strong>fsockopen()</strong> (and not yet closed by
                     <strong>fclose()</strong>).

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>fdatasync()</strong>
   * <strong>fflush()</strong>


id: ftell
type: function
doc:
<comment>Description:</comment>
  Returns the current position of the file read/write pointer
  
  Returns the position of the file pointer referenced by <strong>$stream</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  The file pointer must be valid, and must point to a file successfully opened by
                     <strong>fopen()</strong> or <strong>popen()</strong>. <strong>ftell()</strong> gives undefined results for append-only streams
                     (opened with "a" flag).

<comment>Return:</comment>
  <info>int|false</info>  Returns the position of the file pointer referenced by <strong>$stream</strong> as an integer; i.e., its
             offset into the file stream.
             
             If an error occurs, returns <info>false</info>.
             
             Because PHP's integer type is signed and many platforms use 32bit integers, some
             filesystem functions may return unexpected results for files which are larger than 2GB.

<comment>See Also:</comment>
   * <strong>fopen()</strong>
   * <strong>popen()</strong>
   * <strong>fseek()</strong>
   * <strong>rewind()</strong>


id: ftok
type: function
doc:
<comment>Description:</comment>
  Convert a pathname and a project identifier to a System V IPC key
  
  The function converts the <strong>$filename</strong> of an existing accessible file and a project identifier into
  an <return>integer</return> for use with for example <strong>shmop_open()</strong> and other System V IPC keys.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>    Path to an accessible file.
  <info>string</info>  <strong>$project_id</strong>  Project identifier. This must be a one character string.

<comment>Return:</comment>
  <info>int</info>  On success the return value will be the created key value, otherwise <return>-1</return> is returned.

<comment>See Also:</comment>
   * <strong>shmop_open()</strong>
   * <strong>sem_get()</strong>


id: ftp_alloc
type: function
doc:
<comment>Description:</comment>
  Allocates space for a file to be uploaded
  
  Sends an <return>ALLO</return> command to the remote FTP server to  allocate space for a file to be uploaded.
  
  Many FTP servers do not support this command.  These servers may return a failure  code (<info>false</info>)
  indicating the command is not supported or a success code (<info>true</info>) to indicate that pre-allocation
  is not necessary and the client should continue as though the operation were successful.  Because
  of this, it may be best to reserve this function for servers which explicitly require
  preallocation.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>       An <class>FTP\Connection</class> instance.
  <info>int</info>             <strong>$size</strong>      The number of bytes to allocate.
  <info>string</info>          <strong>$response</strong>  A textual representation of the servers response will be returned by
                             reference in <strong>$response</strong> if a variable is provided.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>ftp_put()</strong>
   * <strong>ftp_fput()</strong>


id: ftp_append
type: function
doc:
<comment>Description:</comment>
  Append the contents of a file to another file on the FTP server
  
  This function is
  currently not documented; only its argument list is available.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>              An <class>FTP\Connection</class> instance.
  <info>string</info>          <strong>$remote_filename</strong>  
  <info>string</info>          <strong>$local_filename</strong>   
  <info>int</info>             <strong>$mode</strong>             

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.


id: ftp_cdup
type: function
doc:
<comment>Description:</comment>
  Changes to the parent directory
  
  Changes to the parent directory.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>  An <class>FTP\Connection</class> instance.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>ftp_chdir()</strong>
   * <strong>ftp_pwd()</strong>


id: ftp_chdir
type: function
doc:
<comment>Description:</comment>
  Changes the current directory on a FTP server
  
  Changes the current directory to the specified one.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>        An <class>FTP\Connection</class> instance.
  <info>string</info>          <strong>$directory</strong>  The target directory.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure. If changing directory fails, PHP will also
        throw a warning.

<comment>See Also:</comment>
   * <strong>ftp_cdup()</strong>
   * <strong>ftp_pwd()</strong>


id: ftp_chmod
type: function
doc:
<comment>Description:</comment>
  Set permissions on a file via FTP
  
  Sets the permissions on the specified remote file to  <strong>$permissions</strong>.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>          An <class>FTP\Connection</class> instance.
  <info>int</info>             <strong>$permissions</strong>  The new permissions, given as an octal value.
  <info>string</info>          <strong>$filename</strong>     The remote file.

<comment>Return:</comment>
  <info>int|false</info>  Returns the new file permissions on success or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>chmod()</strong>


id: ftp_close
type: function
doc:
<comment>Description:</comment>
  Closes an FTP connection
  
  <strong>ftp_close()</strong> closes the given link identifier and releases the <info>resource</info>.
  
  After calling this function, you can no longer use the FTP connection and must create a new one
  with <strong>ftp_connect()</strong>.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>  An <class>FTP\Connection</class> instance.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>ftp_connect()</strong>


id: ftp_connect
type: function
doc:
<comment>Description:</comment>
  Opens an FTP connection
  
  <strong>ftp_connect()</strong> opens an FTP connection to the specified <strong>$hostname</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  The FTP server address. This parameter shouldn't have any trailing  slashes and
                     shouldn't be prefixed with <return>ftp://</return>.
  <info>int</info>     <strong>$port</strong>      This parameter specifies an alternate port to connect to. If it is omitted or
                     set to zero, then the default FTP port, 21, will be used.
  <info>int</info>     <strong>$timeout</strong>   This parameter specifies the timeout in seconds for all subsequent network
                     operations. If omitted, the default value is 90 seconds. The timeout can be
                     changed and queried at any time with <strong>ftp_set_option()</strong> and <strong>ftp_get_option()</strong>.

<comment>Return:</comment>
  <info>FTP\Connection|false</info>  Returns an <class>FTP\Connection</class> instance on success, or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>ftp_close()</strong>
   * <strong>ftp_ssl_connect()</strong>


id: ftp_delete
type: function
doc:
<comment>Description:</comment>
  Deletes a file on the FTP server
  
  <strong>ftp_delete()</strong> deletes the file specified by <strong>$filename</strong> from the FTP server.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>       An <class>FTP\Connection</class> instance.
  <info>string</info>          <strong>$filename</strong>  The file to delete.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.


id: ftp_exec
type: function
doc:
<comment>Description:</comment>
  Requests execution of a command on the FTP server
  
  Sends a SITE EXEC <strong>$command</strong> request to the FTP server.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>      An <class>FTP\Connection</class> instance.
  <info>string</info>          <strong>$command</strong>  The command to execute.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the command was successful (server sent response code: <return>200</return>); otherwise
        returns <info>false</info>.

<comment>See Also:</comment>
   * <strong>ftp_raw()</strong>


id: ftp_fget
type: function
doc:
<comment>Description:</comment>
  Downloads a file from the FTP server and saves to an open file
  
  <strong>ftp_fget()</strong> retrieves <strong>$remote_filename</strong> from the FTP server, and writes it to the given file
  pointer.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>              An <class>FTP\Connection</class> instance.
  <info>resource</info>        <strong>$stream</strong>           An open file pointer in which we store the data.
  <info>string</info>          <strong>$remote_filename</strong>  The remote file path.
  <info>int</info>             <strong>$mode</strong>             The transfer mode. Must be either <info>FTP_ASCII</info> or <info>FTP_BINARY</info>.
  <info>int</info>             <strong>$offset</strong>           The position in the remote file to start downloading from.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>ftp_get()</strong>
   * <strong>ftp_nb_get()</strong>
   * <strong>ftp_nb_fget()</strong>


id: ftp_fput
type: function
doc:
<comment>Description:</comment>
  Uploads from an open file to the FTP server
  
  <strong>ftp_fput()</strong> uploads the data from a file pointer to a remote file on the FTP server.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>              An <class>FTP\Connection</class> instance.
  <info>string</info>          <strong>$remote_filename</strong>  The remote file path.
  <info>resource</info>        <strong>$stream</strong>           An open file pointer on the local file. Reading stops at end of
                                    file.
  <info>int</info>             <strong>$mode</strong>             The transfer mode. Must be either <info>FTP_ASCII</info> or <info>FTP_BINARY</info>.
  <info>int</info>             <strong>$offset</strong>           The position in the remote file to start uploading to.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>ftp_put()</strong>
   * <strong>ftp_nb_fput()</strong>
   * <strong>ftp_nb_put()</strong>


id: ftp_get
type: function
doc:
<comment>Description:</comment>
  Downloads a file from the FTP server
  
  <strong>ftp_get()</strong> retrieves a remote file from the FTP server, and saves it into a local file.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>              An <class>FTP\Connection</class> instance.
  <info>string</info>          <strong>$local_filename</strong>   The local file path (will be overwritten if the file already
                                    exists).
  <info>string</info>          <strong>$remote_filename</strong>  The remote file path.
  <info>int</info>             <strong>$mode</strong>             The transfer mode. Must be either <info>FTP_ASCII</info> or <info>FTP_BINARY</info>.
  <info>int</info>             <strong>$offset</strong>           The position in the remote file to start downloading from.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>ftp_pasv()</strong>
   * <strong>ftp_fget()</strong>
   * <strong>ftp_nb_get()</strong>
   * <strong>ftp_nb_fget()</strong>


id: ftp_get_option
type: function
doc:
<comment>Description:</comment>
  Retrieves various runtime behaviours of the current FTP connection
  
  This function returns the value for the requested  <strong>$option</strong> from the specified FTP connection.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>     An <class>FTP\Connection</class> instance.
  <info>int</info>             <strong>$option</strong>  Currently, the following options are supported: Supported runtime FTP
                           options<info>FTP_TIMEOUT_SEC</info> Returns the current timeout used for network
                           related operations. <info>FTP_AUTOSEEK</info> Returns <info>true</info> if this option is on, <info>false</info>
                           otherwise.

<comment>Return:</comment>
  <info>int|bool</info>  Returns the value on success or <info>false</info> if the given  <strong>$option</strong> is not supported. In the
            latter case, a warning message is also thrown.

<comment>See Also:</comment>
   * <strong>ftp_set_option()</strong>


id: ftp_login
type: function
doc:
<comment>Description:</comment>
  Logs in to an FTP connection
  
  Logs in to the given FTP connection.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>       An <class>FTP\Connection</class> instance.
  <info>string</info>          <strong>$username</strong>  The username (<return>USER</return>).
  <info>string</info>          <strong>$password</strong>  The password (<return>PASS</return>).

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure. If login fails, PHP will also throw a warning.


id: ftp_mdtm
type: function
doc:
<comment>Description:</comment>
  Returns the last modified time of the given file
  
  <strong>ftp_mdtm()</strong> gets the last modified time for a remote file.
  
  Not all servers support this feature!
  
  <strong>ftp_mdtm()</strong> does not work with directories.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>       An <class>FTP\Connection</class> instance.
  <info>string</info>          <strong>$filename</strong>  The file from which to extract the last modification time.

<comment>Return:</comment>
  <info>int</info>  Returns the last modified time as a local Unix timestamp on success, or -1 on  error.


id: ftp_mkdir
type: function
doc:
<comment>Description:</comment>
  Creates a directory
  
  Creates the specified <strong>$directory</strong> on the FTP server.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>        An <class>FTP\Connection</class> instance.
  <info>string</info>          <strong>$directory</strong>  The name of the directory that will be created.

<comment>Return:</comment>
  <info>string|false</info>  Returns the newly created directory name on success or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>ftp_rmdir()</strong>


id: ftp_mlsd
type: function
doc:
<comment>Description:</comment>
  Returns a list of files in the given directory

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>        An <class>FTP\Connection</class> instance.
  <info>string</info>          <strong>$directory</strong>  The directory to be listed.

<comment>Return:</comment>
  <info>array|false</info>  Returns an array of arrays with file infos from the specified directory on success or
               <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>ftp_rawlist()</strong>
   * <strong>ftp_nlist()</strong>


id: ftp_nb_continue
type: function
doc:
<comment>Description:</comment>
  Continues retrieving/sending a file (non-blocking)
  
  Continues retrieving/sending a file non-blocking.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>  An <class>FTP\Connection</class> instance.

<comment>Return:</comment>
  <info>int</info>  Returns <info>FTP_FAILED</info> or <info>FTP_FINISHED</info> or <info>FTP_MOREDATA</info>.


id: ftp_nb_fget
type: function
doc:
<comment>Description:</comment>
  Retrieves a file from the FTP server and writes it to an open file (non-blocking)
  
  <strong>ftp_nb_fget()</strong> retrieves a remote file from the FTP  server.
  
  The difference between this function and <strong>ftp_fget()</strong> is  that this function retrieves the file
  asynchronously, so your program can  perform other operations while the file is being downloaded.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>              An <class>FTP\Connection</class> instance.
  <info>resource</info>        <strong>$stream</strong>           An open file pointer in which we store the data.
  <info>string</info>          <strong>$remote_filename</strong>  The remote file path.
  <info>int</info>             <strong>$mode</strong>             The transfer mode. Must be either <info>FTP_ASCII</info> or <info>FTP_BINARY</info>.
  <info>int</info>             <strong>$offset</strong>           The position in the remote file to start downloading from.

<comment>Return:</comment>
  <info>int</info>  Returns <info>FTP_FAILED</info> or <info>FTP_FINISHED</info> or <info>FTP_MOREDATA</info>.

<comment>See Also:</comment>
   * <strong>ftp_nb_get()</strong>
   * <strong>ftp_nb_continue()</strong>
   * <strong>ftp_fget()</strong>
   * <strong>ftp_get()</strong>


id: ftp_nb_fput
type: function
doc:
<comment>Description:</comment>
  Stores a file from an open file to the FTP server (non-blocking)
  
  <strong>ftp_nb_fput()</strong> uploads the data from a file pointer to a remote file on the FTP server.
  
  The difference between this function and the <strong>ftp_fput()</strong>  is that this function uploads the file
  asynchronously, so your program can perform other operations while the file is being uploaded.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>              An <class>FTP\Connection</class> instance.
  <info>string</info>          <strong>$remote_filename</strong>  The remote file path.
  <info>resource</info>        <strong>$stream</strong>           An open file pointer on the local file. Reading stops at end of
                                    file.
  <info>int</info>             <strong>$mode</strong>             The transfer mode. Must be either <info>FTP_ASCII</info> or <info>FTP_BINARY</info>.
  <info>int</info>             <strong>$offset</strong>           The position in the remote file to start uploading to.

<comment>Return:</comment>
  <info>int</info>  Returns <info>FTP_FAILED</info> or <info>FTP_FINISHED</info> or <info>FTP_MOREDATA</info>.

<comment>See Also:</comment>
   * <strong>ftp_nb_put()</strong>
   * <strong>ftp_nb_continue()</strong>
   * <strong>ftp_put()</strong>
   * <strong>ftp_fput()</strong>


id: ftp_nb_get
type: function
doc:
<comment>Description:</comment>
  Retrieves a file from the FTP server and writes it to a local file (non-blocking)
  
  <strong>ftp_nb_get()</strong> retrieves a remote file from the FTP server, and saves it into a local file.
  
  The difference between this function and <strong>ftp_get()</strong> is that this function retrieves the file
  asynchronously, so your program can perform  other operations while the file is being downloaded.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>              An <class>FTP\Connection</class> instance.
  <info>string</info>          <strong>$local_filename</strong>   The local file path (will be overwritten if the file already
                                    exists).
  <info>string</info>          <strong>$remote_filename</strong>  The remote file path.
  <info>int</info>             <strong>$mode</strong>             The transfer mode. Must be either <info>FTP_ASCII</info> or <info>FTP_BINARY</info>.
  <info>int</info>             <strong>$offset</strong>           The position in the remote file to start downloading from.

<comment>Return:</comment>
  <info>int|false</info>  Returns <info>FTP_FAILED</info> or <info>FTP_FINISHED</info> or <info>FTP_MOREDATA</info>, or <info>false</info> on failure to open the
             local file.

<comment>See Also:</comment>
   * <strong>ftp_nb_fget()</strong>
   * <strong>ftp_nb_continue()</strong>
   * <strong>ftp_fget()</strong>
   * <strong>ftp_get()</strong>


id: ftp_nb_put
type: function
doc:
<comment>Description:</comment>
  Stores a file on the FTP server (non-blocking)
  
  <strong>ftp_nb_put()</strong> stores a local file on the FTP server.
  
  The difference between this function and the <strong>ftp_put()</strong> is that this function uploads the file
  asynchronously, so your program can perform other operations while the file is being uploaded.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>              An <class>FTP\Connection</class> instance.
  <info>string</info>          <strong>$remote_filename</strong>  The remote file path.
  <info>string</info>          <strong>$local_filename</strong>   The local file path.
  <info>int</info>             <strong>$mode</strong>             The transfer mode. Must be either <info>FTP_ASCII</info> or <info>FTP_BINARY</info>.
  <info>int</info>             <strong>$offset</strong>           The position in the remote file to start uploading to.

<comment>Return:</comment>
  <info>int|false</info>  Returns <info>FTP_FAILED</info> or <info>FTP_FINISHED</info> or <info>FTP_MOREDATA</info>, or <info>false</info> on failure to open the
             local file.

<comment>See Also:</comment>
   * <strong>ftp_nb_fput()</strong>
   * <strong>ftp_nb_continue()</strong>
   * <strong>ftp_put()</strong>
   * <strong>ftp_fput()</strong>


id: ftp_nlist
type: function
doc:
<comment>Description:</comment>
  Returns a list of files in the given directory

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>        An <class>FTP\Connection</class> instance.
  <info>string</info>          <strong>$directory</strong>  The directory to be listed. This parameter can also include arguments,
                              eg. <return>ftp_nlist($ftp, "-la /your/dir");</return>. Note that this parameter isn't
                              escaped so there may be some issues with filenames containing spaces
                              and other characters.

<comment>Return:</comment>
  <info>array|false</info>  Returns an array of filenames from the specified directory on success or <info>false</info> on
               error.

<comment>See Also:</comment>
   * <strong>ftp_rawlist()</strong>
   * <strong>ftp_mlsd()</strong>


id: ftp_pasv
type: function
doc:
<comment>Description:</comment>
  Turns passive mode on or off
  
  <strong>ftp_pasv()</strong> turns on or off passive mode. In passive mode, data connections are initiated by the
  client, rather than by the server. It may be needed if the client is behind firewall.
  
  Please note that <strong>ftp_pasv()</strong> can only be called after a successful login or otherwise it will fail.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>     An <class>FTP\Connection</class> instance.
  <info>bool</info>            <strong>$enable</strong>  If <info>true</info>, the passive mode is turned on, else it's turned off.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.


id: ftp_put
type: function
doc:
<comment>Description:</comment>
  Uploads a file to the FTP server
  
  <strong>ftp_put()</strong> stores a local file on the FTP server.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>              An <class>FTP\Connection</class> instance.
  <info>string</info>          <strong>$remote_filename</strong>  The remote file path.
  <info>string</info>          <strong>$local_filename</strong>   The local file path.
  <info>int</info>             <strong>$mode</strong>             The transfer mode. Must be either <info>FTP_ASCII</info> or <info>FTP_BINARY</info>.
  <info>int</info>             <strong>$offset</strong>           The position in the remote file to start uploading to.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>ftp_pasv()</strong>
   * <strong>ftp_fput()</strong>
   * <strong>ftp_nb_fput()</strong>
   * <strong>ftp_nb_put()</strong>


id: ftp_pwd
type: function
doc:
<comment>Description:</comment>
  Returns the current directory name

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>  An <class>FTP\Connection</class> instance.

<comment>Return:</comment>
  <info>string|false</info>  Returns the current directory name or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>ftp_chdir()</strong>
   * <strong>ftp_cdup()</strong>


id: ftp_quit
type: function
doc:
<comment>Description:</comment>
  Alias of ftp_close
  
  This function is an alias of:  <strong>ftp_close()</strong>.


id: ftp_raw
type: function
doc:
<comment>Description:</comment>
  Sends an arbitrary command to an FTP server
  
  Sends an arbitrary <strong>$command</strong> to the FTP server.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>      An <class>FTP\Connection</class> instance.
  <info>string</info>          <strong>$command</strong>  The command to execute.

<comment>Return:</comment>
  <info>array|null</info>  Returns the server's response as an array of strings, or <info>null</info> on failure. No parsing
              is performed on the response string, nor does <strong>ftp_raw()</strong> determine if the command
              succeeded.

<comment>See Also:</comment>
   * <strong>ftp_exec()</strong>


id: ftp_rawlist
type: function
doc:
<comment>Description:</comment>
  Returns a detailed list of files in the given directory
  
  <strong>ftp_rawlist()</strong> executes the FTP  LIST command, and returns the result as an array.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>        An <class>FTP\Connection</class> instance.
  <info>string</info>          <strong>$directory</strong>  The directory path. May include arguments for the LIST command.
  <info>bool</info>            <strong>$recursive</strong>  If set to <info>true</info>, the issued command will be LIST -R.

<comment>Return:</comment>
  <info>array|false</info>  Returns an array where each element corresponds to one line of text. Returns <info>false</info>
               when passed <strong>$directory</strong> is invalid.
               
               The output is not parsed in any way. The system type identifier returned by
               <strong>ftp_systype()</strong> can be used to determine how the results  should be interpreted.

<comment>See Also:</comment>
   * <strong>ftp_nlist()</strong>
   * <strong>ftp_mlsd()</strong>


id: ftp_rename
type: function
doc:
<comment>Description:</comment>
  Renames a file or a directory on the FTP server
  
  <strong>ftp_rename()</strong> renames a file or a directory on the FTP server.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>   An <class>FTP\Connection</class> instance.
  <info>string</info>          <strong>$from</strong>  The old file/directory name.
  <info>string</info>          <strong>$to</strong>    The new name.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure. Upon failure (such as attempting to rename a
        non-existent file), an <return>E_WARNING</return> error will be emitted.


id: ftp_rmdir
type: function
doc:
<comment>Description:</comment>
  Removes a directory
  
  Removes the specified <strong>$directory</strong> on the FTP server.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>        An <class>FTP\Connection</class> instance.
  <info>string</info>          <strong>$directory</strong>  The directory to delete. This must be either an absolute or relative
                              path to an empty directory.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>ftp_mkdir()</strong>


id: ftp_set_option
type: function
doc:
<comment>Description:</comment>
  Set miscellaneous runtime FTP options
  
  This function controls various runtime options for the specified FTP connection.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>     An <class>FTP\Connection</class> instance.
  <info>int</info>             <strong>$option</strong>  Currently, the following options are supported: Supported runtime FTP
                           options<info>FTP_TIMEOUT_SEC</info> Changes the timeout in seconds used for all
                           network related  functions. <strong>$value</strong> must be an integer that is greater
                           than 0. The default timeout is 90 seconds. <info>FTP_AUTOSEEK</info> When enabled, GET
                           or PUT requests with a  <strong>$resumepos</strong> or <strong>$startpos</strong> parameter will first seek
                           to the requested position within the file. This is enabled by default.
                           <info>FTP_USEPASVADDRESS</info> When disabled, PHP will ignore the IP address returned
                           by the FTP server in response to the PASV command and instead use the IP
                           address that was supplied in the ftp_connect(). <strong>$value</strong> must be a boolean.
  <info>int|bool</info>        <strong>$value</strong>   This parameter depends on which <strong>$option</strong> is chosen to be altered.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the option could be set; <info>false</info> if not. A warning message will be thrown if
        the <strong>$option</strong> is not supported or the passed <strong>$value</strong> doesn't match the expected value for the
        given <strong>$option</strong>.

<comment>See Also:</comment>
   * <strong>ftp_get_option()</strong>


id: ftp_site
type: function
doc:
<comment>Description:</comment>
  Sends a SITE command to the server
  
  <strong>ftp_site()</strong> sends the given <return>SITE</return>  command to the FTP server.
  
  <return>SITE</return> commands are not standardized, and vary from server to server. They are useful for handling
  such things as file permissions and  group membership.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>      An <class>FTP\Connection</class> instance.
  <info>string</info>          <strong>$command</strong>  The SITE command. Note that this parameter isn't escaped so there may be
                            some issues with filenames containing spaces and other characters.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>ftp_raw()</strong>


id: ftp_size
type: function
doc:
<comment>Description:</comment>
  Returns the size of the given file
  
  <strong>ftp_size()</strong> returns the size of the given file in bytes.
  
  Not all servers support this feature.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>       An <class>FTP\Connection</class> instance.
  <info>string</info>          <strong>$filename</strong>  The remote file.

<comment>Return:</comment>
  <info>int</info>  Returns the file size on success, or -1 on error.

<comment>See Also:</comment>
   * <strong>ftp_rawlist()</strong>


id: ftp_ssl_connect
type: function
doc:
<comment>Description:</comment>
  Opens a Secure SSL-FTP connection
  
  <strong>ftp_ssl_connect()</strong> opens an explicit SSL-FTP connection to the specified <strong>$hostname</strong>. That implies
  that <strong>ftp_ssl_connect()</strong> will succeed even if the server is not configured for SSL-FTP, or its
  certificate is invalid. Only when <strong>ftp_login()</strong> is called, the client will send the appropriate AUTH
  FTP command, so <strong>ftp_login()</strong> will fail in the mentioned cases.
  
  Before PHP 7.0.0, <strong>ftp_ssl_connect()</strong> was only available if both the ftp module and the OpenSSL
  support have been built statically into php; this means that on Windows this function had been
  undefined in the official PHP builds. To have this function available on Windows, it had been
  necessary to compile own PHP binaries.
  
  <strong>ftp_ssl_connect()</strong> is not intended for use with sFTP. To use sFTP with PHP, please see <strong>ssh2_sftp()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  The FTP server address. This parameter shouldn't have any trailing  slashes and
                     shouldn't be prefixed with <return>ftp://</return>.
  <info>int</info>     <strong>$port</strong>      This parameter specifies an alternate port to connect to. If it is omitted or
                     set to zero, then the default FTP port, 21, will be used.
  <info>int</info>     <strong>$timeout</strong>   This parameter specifies the timeout for all subsequent network operations. If
                     omitted, the default value is 90 seconds. The timeout can be changed and
                     queried at any time with <strong>ftp_set_option()</strong> and <strong>ftp_get_option()</strong>.

<comment>Return:</comment>
  <info>FTP\Connection|false</info>  Returns an <class>FTP\Connection</class> instance on success, or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>ftp_connect()</strong>


id: ftp_systype
type: function
doc:
<comment>Description:</comment>
  Returns the system type identifier of the remote FTP server
  
  Returns the system type identifier of the remote FTP server.

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>  An <class>FTP\Connection</class> instance.

<comment>Return:</comment>
  <info>string|false</info>  Returns the remote system type, or <info>false</info> on error.


id: ftruncate
type: function
doc:
<comment>Description:</comment>
  Truncates a file to a given length
  
  Takes the filepointer, <strong>$stream</strong>, and truncates the file to length, <strong>$size</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  The file pointer.
                     
                     The <strong>$stream</strong> must be open for writing.
  <info>int</info>       <strong>$size</strong>    The size to truncate to.
                     
                     If <strong>$size</strong> is larger than the file then the file is extended with null bytes.
                     
                     If <strong>$size</strong> is smaller than the file then the file is truncated to that size.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>fopen()</strong>
   * <strong>fseek()</strong>


id: func_get_arg
type: function
doc:
<comment>Description:</comment>
  Return an item from the argument list
  
  Gets the specified argument from a user-defined function's argument list.
  
  This function may be used in conjunction with  <strong>func_get_args()</strong> and <strong>func_num_args()</strong> to allow
  user-defined functions to accept variable-length argument lists.

<comment>Param:</comment>
  <info>int</info>  <strong>$position</strong>  The argument offset. Function arguments are counted starting from zero.

<comment>Return:</comment>
  <info>mixed</info>  Returns the specified argument, or <info>false</info> on error.

<comment>See Also:</comment>
   * <return>...</return> syntax
   * <strong>func_get_args()</strong>
   * <strong>func_num_args()</strong>


id: func_get_args
type: function
doc:
<comment>Description:</comment>
  Returns an array comprising a function's argument list
  
  Gets an array of the function's argument list.
  
  This function may be used in conjunction with  <strong>func_get_arg()</strong> and <strong>func_num_args()</strong> to allow
  user-defined functions to accept variable-length argument lists.

<comment>Return:</comment>
  <info>array</info>  Returns an array in which each element is a copy of the corresponding member of the current
         user-defined function's argument list.

<comment>See Also:</comment>
   * <return>...</return> syntax
   * <strong>func_get_arg()</strong>
   * <strong>func_num_args()</strong>
   * ReflectionFunctionAbstract::getParameters


id: func_num_args
type: function
doc:
<comment>Description:</comment>
  Returns the number of arguments passed to the function
  
  Gets the number of arguments passed to the function.
  
  This function may be used in conjunction with  <strong>func_get_arg()</strong> and <strong>func_get_args()</strong> to allow
  user-defined functions to accept variable-length argument lists.

<comment>Return:</comment>
  <info>int</info>  Returns the number of arguments passed into the current user-defined function.

<comment>See Also:</comment>
   * <return>...</return> syntax
   * <strong>func_get_arg()</strong>
   * <strong>func_get_args()</strong>
   * ReflectionFunctionAbstract::getNumberOfParameters


id: function_exists
type: function
doc:
<comment>Description:</comment>
  Return true if the given function has been defined
  
  Checks the list of defined functions, both built-in (internal) and user-defined, for <strong>$function</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$function</strong>  The function name, as a string.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if <strong>$function</strong> exists and is a function, <info>false</info> otherwise.
        
        This function will return <info>false</info> for constructs, such as  <strong>include_once()</strong> and <strong>echo()</strong>.

<comment>See Also:</comment>
   * <strong>method_exists()</strong>
   * <strong>is_callable()</strong>
   * <strong>get_defined_functions()</strong>
   * <strong>class_exists()</strong>
   * <strong>extension_loaded()</strong>


id: fwrite
type: function
doc:
<comment>Description:</comment>
  Binary-safe file write
  
  <strong>fwrite()</strong> writes the contents of <strong>$data</strong> to the file stream pointed to by <strong>$stream</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  A file system pointer <info>resource</info>
                     that is typically created using <strong>fopen()</strong>.
  <info>string</info>    <strong>$data</strong>    The string that is to be written.
  <info>int|null</info>  <strong>$length</strong>  If <strong>$length</strong> is an <info>int</info>, writing will stop after <strong>$length</strong> bytes have been written
                     or the end of <strong>$data</strong> is reached, whichever comes first.

<comment>Return:</comment>
  <info>int|false</info>  <strong>fwrite()</strong> returns the number of bytes written,  or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>fread()</strong>
   * <strong>fopen()</strong>
   * <strong>fsockopen()</strong>
   * <strong>popen()</strong>
   * <strong>file_get_contents()</strong>
   * <strong>pack()</strong>


id: gc_collect_cycles
type: function
doc:
<comment>Description:</comment>
  Forces collection of any existing garbage cycles
  
  Forces collection of any existing garbage cycles.

<comment>Return:</comment>
  <info>int</info>  Returns number of collected cycles.

<comment>See Also:</comment>
   * Garbage Collection


id: gc_disable
type: function
doc:
<comment>Description:</comment>
  Deactivates the circular reference collector
  
  Deactivates the circular reference collector, setting zend.enable_gc to <return>0</return>.

<comment>Return:</comment>
  <info>void</info>  No value is returned.

<comment>See Also:</comment>
   * Garbage Collection


id: gc_enable
type: function
doc:
<comment>Description:</comment>
  Activates the circular reference collector
  
  Activates the circular reference collector, setting zend.enable_gc to <return>1</return>.

<comment>Return:</comment>
  <info>void</info>  No value is returned.

<comment>See Also:</comment>
   * Garbage Collection


id: gc_enabled
type: function
doc:
<comment>Description:</comment>
  Returns status of the circular reference collector
  
  Returns status of the circular reference collector.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the garbage collector is enabled, <info>false</info> otherwise.

<comment>See Also:</comment>
   * Garbage Collection


id: gc_mem_caches
type: function
doc:
<comment>Description:</comment>
  Reclaims memory used by the Zend Engine memory manager
   
  
  Reclaims memory used by the Zend Engine memory manager.

<comment>Return:</comment>
  <info>int</info>  Returns the number of bytes freed.

<comment>See Also:</comment>
   * Garbage Collection


id: gc_status
type: function
doc:
<comment>Description:</comment>
  Gets information about the garbage collector
  
  Gets information about the current state of the garbage collector.

<comment>Return:</comment>
  <info>array</info>  Returns an associative array with the following elements:
         <return>"runs"</return><return>"collected"</return><return>"threshold"</return><return>"roots"</return>
         
         <return>"runs"</return>
         
         <return>"collected"</return>
         
         <return>"threshold"</return>
         
         <return>"roots"</return>

<comment>See Also:</comment>
   * Garbage Collection


id: gd_info
type: function
doc:
<comment>Description:</comment>
  Retrieve information about the currently installed GD library
  
  Gets information about the version and capabilities of the installed GD library.

<comment>Return:</comment>
  <info>array</info>  Returns an associative array.
         
         Elements of array returned by <strong>gd_info()</strong>AttributeMeaningGD Version<info>string</info> value describing
         the installed <return>libgd</return> version.FreeType Support<info>bool</info> value.  <info>true</info> if FreeType Support is
         installed.FreeType Linkage<info>string</info> value describing the way in which FreeType was linked.
         Expected values are: 'with freetype', 'with TTF library', and 'with unknown library'.  This
         element will only be defined if <return>FreeType Support</return> evaluated to <info>true</info>.GIF Read Support<info>bool</info>
         value.  <info>true</info> if support for reading <return>GIF</return> images is included.GIF Create Support<info>bool</info> value.
         <info>true</info> if support for creating <return>GIF</return> images is included.JPEG Support<info>bool</info> value.  <info>true</info> if <return>JPEG</return>
         support is included.PNG Support<info>bool</info> value.  <info>true</info> if <return>PNG</return> support is included.WBMP
         Support<info>bool</info> value.  <info>true</info> if <return>WBMP</return> support is included.XBM Support<info>bool</info> value.  <info>true</info> if <return>XBM</return>
         support is included.WebP Support<info>bool</info> value.  <info>true</info> if <return>WebP</return> support is included.AVIF
         Support<info>bool</info> value.  <info>true</info> if <return>AVIF</return> support is included. Available as of PHP 8.1.0.

<comment>See Also:</comment>
   * <strong>imagepng()</strong>
   * <strong>imagejpeg()</strong>
   * <strong>imagegif()</strong>
   * <strong>imagewbmp()</strong>
   * <strong>imagewebp()</strong>
   * <strong>imageavif()</strong>
   * <strong>imagetypes()</strong>


id: geoip_asnum_by_name
type: function
doc:
<comment>Description:</comment>
  Get the Autonomous System Numbers (ASN)
  
  The <strong>geoip_asnum_by_name()</strong> function will return the Autonomous System Numbers (ASN) associated with
  an IP address.

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  The hostname or IP address.

<comment>Return:</comment>
  <info>string</info>  Returns the ASN on success, or <info>false</info> if the address cannot be found in the database.


id: geoip_continent_code_by_name
type: function
doc:
<comment>Description:</comment>
  Get the two letter continent code
  
  The <strong>geoip_continent_code_by_name()</strong> function will return the two letter continent code
  corresponding to a hostname or an IP address.

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  The hostname or IP address whose location is to be looked-up.

<comment>Return:</comment>
  <info>string</info>  Returns the two letter continent code on success, or <info>false</info> if the address cannot be found
          in the database.

<comment>See Also:</comment>
   * <strong>geoip_country_code_by_name()</strong>


id: geoip_country_code3_by_name
type: function
doc:
<comment>Description:</comment>
  Get the three letter country code
  
  The <strong>geoip_country_code3_by_name()</strong> function will return the three letter country code corresponding
  to a hostname or an IP address.

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  The hostname or IP address whose location is to be looked-up.

<comment>Return:</comment>
  <info>string</info>  Returns the three letter country code on success, or <info>false</info>  if the address cannot be found
          in the database.

<comment>See Also:</comment>
   * <strong>geoip_country_code_by_name()</strong>
   * <strong>geoip_country_name_by_name()</strong>


id: geoip_country_code_by_name
type: function
doc:
<comment>Description:</comment>
  Get the two letter country code
  
  The <strong>geoip_country_code_by_name()</strong> function will return the two letter country code corresponding to
  a hostname or an IP address.

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  The hostname or IP address whose location is to be looked-up.

<comment>Return:</comment>
  <info>string</info>  Returns the two letter ISO country code on success, or <info>false</info>  if the address cannot be
          found in the database.

<comment>See Also:</comment>
   * <strong>geoip_country_code3_by_name()</strong>
   * <strong>geoip_country_name_by_name()</strong>


id: geoip_country_name_by_name
type: function
doc:
<comment>Description:</comment>
  Get the full country name
  
  The <strong>geoip_country_name_by_name()</strong> function will return the full country name corresponding to a
  hostname or an IP address.

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  The hostname or IP address whose location is to be looked-up.

<comment>Return:</comment>
  <info>string</info>  Returns the country name on success, or <info>false</info> if the address cannot  be found in the
          database.

<comment>See Also:</comment>
   * <strong>geoip_country_code_by_name()</strong>
   * <strong>geoip_country_code3_by_name()</strong>


id: geoip_database_info
type: function
doc:
<comment>Description:</comment>
  Get GeoIP Database information
  
  The <strong>geoip_database_info()</strong> function returns the corresponding GeoIP Database version as it is
  defined inside the binary file.
  
  If this function is called without arguments, it returns the version of the GeoIP Free Country
  Edition.

<comment>Param:</comment>
  <info>int</info>  <strong>$database</strong>  The database type as an integer. You can use the various constants defined with
                  this extension (ie: GEOIP_*_EDITION).

<comment>Return:</comment>
  <info>string</info>  Returns the corresponding database version, or <info>null</info> on error.


id: geoip_db_avail
type: function
doc:
<comment>Description:</comment>
  Determine if GeoIP Database is available
  
  The <strong>geoip_db_avail()</strong> function returns if the corresponding GeoIP Database is available and can be
  opened on disk.
  
  It does not indicate if the file is a proper database, only if it is readable.

<comment>Param:</comment>
  <info>int</info>  <strong>$database</strong>  The database type as an integer. You can use the various constants defined with
                  this extension (ie: GEOIP_*_EDITION).

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> is database exists, <info>false</info> if not found, or <info>null</info> on error.


id: geoip_db_filename
type: function
doc:
<comment>Description:</comment>
  Returns the filename of the corresponding GeoIP Database
  
  The <strong>geoip_db_filename()</strong> function returns the filename of the corresponding GeoIP Database.
  
  It does not indicate if the file exists or not on disk, only where the library is looking for the
  database.

<comment>Param:</comment>
  <info>int</info>  <strong>$database</strong>  The database type as an integer. You can use the various constants defined with
                  this extension (ie: GEOIP_*_EDITION).

<comment>Return:</comment>
  <info>string</info>  Returns the filename of the corresponding database, or <info>null</info> on error.


id: geoip_db_get_all_info
type: function
doc:
<comment>Description:</comment>
  Returns detailed information about all GeoIP database types
  
  The <strong>geoip_db_get_all_info()</strong> function will return  detailed information as a multi-dimensional
  array about all the  GeoIP database types.
  
  This function is available even if no databases are installed. It will simply list them as
  non-available.
  
  The names of the different keys of the returning associative array are as follows:
  
   "available" -- Boolean, indicate if DB is available (see <strong>geoip_db_avail()</strong>)  "description" -- The
  database description  "filename" -- The database filename on disk (see <strong>geoip_db_filename()</strong>)
  
  "available" -- Boolean, indicate if DB is available (see <strong>geoip_db_avail()</strong>)
  
  "description" -- The database description
  
  "filename" -- The database filename on disk (see <strong>geoip_db_filename()</strong>)

<comment>Return:</comment>
  <info>array</info>  Returns the associative array.


id: geoip_domain_by_name
type: function
doc:
<comment>Description:</comment>
  Get the second level domain name
  
  The <strong>geoip_domain_by_name()</strong> function will return the second level domain names associated with a
  hostname or an IP address.
  
  This function is currently only available to users who have bought a commercial GeoIP Domain
  Edition. A warning will be issued if the proper database cannot be  located.

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  The hostname or IP address.

<comment>Return:</comment>
  <info>string</info>  Returns the domain name on success, or <info>false</info> if the address cannot be found in the
          database.


id: geoip_id_by_name
type: function
doc:
<comment>Description:</comment>
  Get the Internet connection type
  
  The <strong>geoip_id_by_name()</strong> function will return the Internet  connection type corresponding to a
  hostname or an IP address.
  
  The return value is numeric and can be compared to the following constants:
  
   GEOIP_UNKNOWN_SPEED  GEOIP_DIALUP_SPEED  GEOIP_CABLEDSL_SPEED  GEOIP_CORPORATE_SPEED 
  
  GEOIP_UNKNOWN_SPEED
  
  GEOIP_DIALUP_SPEED
  
  GEOIP_CABLEDSL_SPEED
  
  GEOIP_CORPORATE_SPEED

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  The hostname or IP address whose connection type is to be looked-up.

<comment>Return:</comment>
  <info>int</info>  Returns the connection type.


id: geoip_isp_by_name
type: function
doc:
<comment>Description:</comment>
  Get the Internet Service Provider (ISP) name
  
  The <strong>geoip_isp_by_name()</strong> function will return the name of the Internet Service Provider (ISP) that
  an IP is assigned to.
  
  This function is currently only available to users who have bought a commercial GeoIP ISP Edition.
  A warning will be issued if the proper database cannot be  located.

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  The hostname or IP address.

<comment>Return:</comment>
  <info>string</info>  Returns the ISP name on success, or <info>false</info> if the address cannot be found in the database.


id: geoip_netspeedcell_by_name
type: function
doc:
<comment>Description:</comment>
  Get the Internet connection speed
  
  The <strong>geoip_netspeedcell_by_name()</strong> function will return the Internet  connection type and speed
  corresponding to a hostname or an IP address.
  
  This function is only available if using GeoIP Library version 1.4.8 or newer.
  
  This function is currently only available to users who have bought a commercial GeoIP NetSpeedCell
  Edition. A warning will be issued if the proper database cannot be  located.
  
  The return value is a string, common values are:
  
   Cable/DSL  Dialup  Cellular  Corporate 
  
  Cable/DSL
  
  Dialup
  
  Cellular
  
  Corporate

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  The hostname or IP address.

<comment>Return:</comment>
  <info>string</info>  Returns the connection speed on success, or <info>false</info> if the address cannot be found in the
          database.


id: geoip_org_by_name
type: function
doc:
<comment>Description:</comment>
  Get the organization name
  
  The <strong>geoip_org_by_name()</strong> function will return the name of the organization that an IP is assigned
  to.
  
  This function is currently only available to users who have bought a commercial GeoIP
  Organization, ISP or AS Edition. A warning will be issued if the proper  database cannot be
  located.

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  The hostname or IP address.

<comment>Return:</comment>
  <info>string</info>  Returns the organization name on success, or <info>false</info> if the address cannot be found in the
          database.


id: geoip_record_by_name
type: function
doc:
<comment>Description:</comment>
  Returns the detailed City information found in the GeoIP Database
  
  The <strong>geoip_record_by_name()</strong> function will return the record information corresponding to a hostname
  or an IP address.
  
  This function is available for both GeoLite City Edition and commercial GeoIP City Edition. A
  warning will be issued if the proper database cannot be located.
  
  The names of the different keys of the returning associative array are as follows:
  
   "continent_code" -- Two letter continent code (as of version 1.0.4 with  libgeoip 1.4.3 or newer)
  "country_code" -- Two letter country code (see <strong>geoip_country_code_by_name()</strong>)  "country_code3" --
  Three letter country code (see <strong>geoip_country_code3_by_name()</strong>)  "country_name" -- The country name
  (see <strong>geoip_country_name_by_name()</strong>)  "region" -- The region code (ex: CA for California)  "city" --
  The city.  "postal_code" -- The Postal Code, FSA or Zip Code.  "latitude" -- The Latitude as
  signed <info>float</info>.  "longitude" -- The Longitude as signed <info>float</info>.  "dma_code" -- Designated Market Area
  code (USA and Canada only)  "area_code" -- The PSTN area code (ex: 212)
  
  "continent_code" -- Two letter continent code (as of version 1.0.4 with  libgeoip 1.4.3 or newer)
  
  "country_code" -- Two letter country code (see <strong>geoip_country_code_by_name()</strong>)
  
  "country_code3" -- Three letter country code (see <strong>geoip_country_code3_by_name()</strong>)
  
  "country_name" -- The country name (see <strong>geoip_country_name_by_name()</strong>)
  
  "region" -- The region code (ex: CA for California)
  
  "city" -- The city.
  
  "postal_code" -- The Postal Code, FSA or Zip Code.
  
  "latitude" -- The Latitude as signed <info>float</info>.
  
  "longitude" -- The Longitude as signed <info>float</info>.
  
  "dma_code" -- Designated Market Area code (USA and Canada only)
  
  "area_code" -- The PSTN area code (ex: 212)

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  The hostname or IP address whose record is to be looked-up.

<comment>Return:</comment>
  <info>array</info>  Returns the associative array on success, or <info>false</info> if the address  cannot be found in the
         database.


id: geoip_region_by_name
type: function
doc:
<comment>Description:</comment>
  Get the country code and region
  
  The <strong>geoip_region_by_name()</strong> function will return the country and region corresponding to a hostname
  or an IP address.
  
  This function is currently only available to users who have bought a commercial GeoIP Region
  Edition. A warning will be issued if the proper database cannot be located.
  
  The names of the different keys of the returning associative array are as follows:
  
   "country_code" -- Two letter country code (see <strong>geoip_country_code_by_name()</strong>)  "region" -- The
  region code (ex: CA for California)
  
  "country_code" -- Two letter country code (see <strong>geoip_country_code_by_name()</strong>)
  
  "region" -- The region code (ex: CA for California)

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  The hostname or IP address whose region is to be looked-up.

<comment>Return:</comment>
  <info>array</info>  Returns the associative array on success, or <info>false</info> if the address  cannot be found in the
         database.


