useful recursive PHP functions

recursively ...

PHP Manual for

XXX. Filesystem Functions

Introduction

Requirements

No external libraries are needed to build this extension, but if you want PHP to support LFS (large files) on Linux, then you need to have a recent glibc and you need compile PHP with the following compiler flags: -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64.

Installation

There is no installation needed to use these functions; they are part of the PHP core.

Runtime Configuration

The behaviour of these functions is affected by settings in php.ini.

Table 1. Filesystem and Streams Configuration Options

NameDefaultChangeableallow_url_fopen"1"PHP_INI_ALLuser_agentNULLPHP_INI_ALLdefault_socket_timeout"60"PHP_INI_ALLfromNULL??auto_detect_line_endings"Off"PHP_INI_ALL

Here's a short explanation of the configuration directives.

allow_url_fopen boolean

This option enables the URL-aware fopen wrappers that enable accessing URL object like files. Default wrappers are provided for the access of remote files using the ftp or http protocol, some extensions like zlib may register additional wrappers.

Note: This option was introduced immediately after the release of version 4.0.3. For versions up to and including 4.0.3 you can only disable this feature at compile time by using the configuration switch --disable-url-fopen-wrapper .

Warning

On Windows versions prior to PHP 4.3.0, the following functions do not support remote file accessing: include(), include_once(), require(), require_once() and the imagecreatefromXXX functions in the Reference XLI, Image Functions extension.

user_agent string

Define the user agent for PHP to send.

default_socket_timeout integer

Default timeout (in seconds) for socket based streams.

Note: This configuration option was introduced in PHP 4.3.0

from="joe@example.com" string

Define the anonymous ftp password (your email address).

auto_detect_line_endings boolean

When turned on, PHP will examine the data read by fgets() and file() to see if it is using Unix, MS-Dos or Macintosh line-ending conventions.

This enables PHP to interoperate with Macintosh systems, but defaults to Off, as there is a very small performance penalty when detecting the EOL conventions for the first line, and also because people using carriage-returns as item separators under Unix systems would experience non-backwards-compatible behaviour.

Note: This configuration option was introduced in PHP 4.3.0

Resource Types

Predefined Constants

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

GLOB_BRACE ( integer)

GLOB_ONLYDIR ( integer)

GLOB_MARK ( integer)

GLOB_NOSORT ( integer)

GLOB_NOCHECK ( integer)

GLOB_NOESCAPE ( integer)

PATHINFO_DIRNAME ( integer)

PATHINFO_BASENAME ( integer)

PATHINFO_EXTENSION ( integer)

FILE_USE_INCLUDE_PATH ( integer)

FILE_APPEND ( integer)

FILE_IGNORE_NEW_LINES ( integer)

FILE_SKIP_EMPTY_LINES ( integer)

See Also

For related functions, see also the Directory and Program Execution sections.

For a list and explanation of the various URL wrappers that can be used as remote files, see also Appendix J.

Table of Contents basename -- Returns filename component of pathchgrp -- Changes file groupchmod -- Changes file modechown -- Changes file ownerclearstatcache -- Clears file status cachecopy -- Copies filedelete -- See unlink() or unset() dirname -- Returns directory name component of pathdisk_free_space -- Returns available space in directorydisk_total_space -- Returns the total size of a directorydiskfreespace -- Alias of disk_free_space() fclose -- Closes an open file pointerfeof -- Tests for end-of-file on a file pointerfflush -- Flushes the output to a filefgetc -- Gets character from file pointerfgetcsv -- Gets line from file pointer and parse for CSV fieldsfgets -- Gets line from file pointerfgetss -- Gets line from file pointer and strip HTML tagsfile_exists -- Checks whether a file or directory existsfile_get_contents -- Reads entire file into a stringfile_put_contents -- Write a string to a filefile -- Reads entire file into an arrayfileatime -- Gets last access time of filefilectime -- Gets inode change time of filefilegroup -- Gets file groupfileinode -- Gets file inodefilemtime -- Gets file modification timefileowner -- Gets file ownerfileperms -- Gets file permissionsfilesize -- Gets file sizefiletype -- Gets file typeflock -- Portable advisory file lockingfnmatch -- Match filename against a patternfopen -- Opens file or URLfpassthru -- Output all remaining data on a file pointerfputs -- Alias of fwrite() fread -- Binary-safe file readfscanf -- Parses input from a file according to a formatfseek -- Seeks on a file pointerfstat -- Gets information about a file using an open file pointerftell -- Tells file pointer read/write positionftruncate -- Truncates a file to a given lengthfwrite -- Binary-safe file writeglob -- Find pathnames matching a patternis_dir -- Tells whether the filename is a directoryis_executable -- Tells whether the filename is executableis_file -- Tells whether the filename is a regular fileis_link -- Tells whether the filename is a symbolic linkis_readable -- Tells whether the filename is readableis_uploaded_file -- Tells whether the file was uploaded via HTTP POSTis_writable -- Tells whether the filename is writableis_writeable -- Alias of is_writable() link -- Create a hard linklinkinfo -- Gets information about a linklstat -- Gives information about a file or symbolic linkmkdir -- Makes directorymove_uploaded_file -- Moves an uploaded file to a new locationparse_ini_file -- Parse a configuration filepathinfo -- Returns information about a file pathpclose -- Closes process file pointerpopen -- Opens process file pointerreadfile -- Outputs a filereadlink -- Returns the target of a symbolic linkrealpath -- Returns canonicalized absolute pathnamerename -- Renames a file or directoryrewind -- Rewind the position of a file pointerrmdir -- Removes directoryset_file_buffer -- Alias of stream_set_write_buffer() stat -- Gives information about a filesymlink -- Creates a symbolic linktempnam -- Create file with unique file nametmpfile -- Creates a temporary filetouch -- Sets access and modification time of fileumask -- Changes the current umaskunlink -- Deletes a file

© 2012 lixlpixel