It’s Festive Season! Enjoy 30% Off

Use code FESTIVE30 at checkout

Code has been added to clipboard!

How to Use Any PHP File Function: Copy, Delete and Many More

Reading time 6 min
Published Aug 8, 2017
Updated Oct 15, 2019

In developing, functions are tools that you combine with your skills to achieve the desired effect. For example, using any PHP file function, you can quickly and easily read a file into an array, be it characters or binary data such as pictures.

The navigation of the filesystem becomes effortless when you know which PHP file function needs to be applied in certain situations. In this tutorial, we will provide you with a handy list of functions used to manipulate PHP filesystems and files.

We will review the most frequently used method: the PHP file() function, applied when it is necessary to read a file into an array. Additionally, you will learn the techniques to change groups, modes, and owners of files.

PHP File Function: Main Tips

  • PHP file functions allow accessing and manipulating filesystems.
  • These functions are inbuilt into the PHP core.
  • When using this function on Unix, forward slash (/) is used to separate directories.
  • On Windows, forward (/) and backward (\) slashes may be used for that.
  • One of the most important methods is the PHP file() function, used to read a file into array.

Most Common Method: file()

As we have mentioned, among the most used methods stands the PHP file function that reads a file into an array. Each element of the array will represent a line from a file. Before PHP 4.3, using file() PHP could only read character data, but now it also works with binary data such as pictures.

Let's view the correct syntax that is needed for PHP file function to be executed correctly:

file(path,include path,context)

Only the first of the parameters is required, as it names the exact file for PHP file() to read.

Options for Runtime Configuration

The way PHP filesystem functions behave is inevitably affected by the settings located in php.ini. Let's see the different options we can use for the configuration:

Name Default value Description Changeable
allow_url_fopen "1" Allow fopen()-type functions to work with URL addresses (implemented in PHP 4.0.4) PHP_INI_SYSTEM
user_agent NULL Define user agent for PHP to send (available since PHP 4.3) PHP_INI_ALL
default_socket_timeout "60" Set default timeout, in seconds, for socket based streams (implemented in PHP 4.3) PHP_INI_ALL
from "" Define anonymous FTP password (your email address) PHP_INI_ALL
auto_detect_line_endings "0" When set to the value of 1, the script will examine data read by fgets() and file() PHP functions to see whether it is using any Unix, MS-Dos or Mac line-ending characters (implemented in PHP 4.3) PHP_INI_ALL

List of Functions

In the table below, you have the list of functions PHP provides to make your work with the PHP filesystem easier.

Some of them (such as fopen()) you might also recognize from our previous lessons, in which we learned to work with PHP code to open external files:

Function Description
basename() Return filename component of path
chgrp() Change file group
chmod() Change file mode
chown() Change file owner
clearstatcache() Clear file status cache
copy() Copy file
delete() See unlink() or unset()
dirname() Return directory name component of path
disk_free_space() Return free space of directory
disk_total_space() Return total size of directory
diskfreespace() Alias of disk_free_space()
fclose() Close open file
feof() Test for end-of-file on open file
fflush() Flush buffered output to an open file
fgetc() Return character from open file
fgetcsv() Parse line from open file, checking for CSV fields
fgets() Return line from open file
fgetss() Return line, with HTML and PHP tags removed, from open file
file() Read file into array
file_exists() Check whether or not file or directory exists
file_get_contents() Read file into string
file_put_contents() Write string to file
fileatime() Return last access time of file
filectime() Return last change time of file
filegroup() Return group ID of file
fileinode() Return inode number of file
filemtime() Return last modification time of file
fileowner() Return user ID (owner) of file
fileperms() Return permissions of file
filesize() Return file size
filetype() Return file type
flock() Lock or release file
fnmatch() Matche filename or string against specified pattern
fopen() Open file or URL
fpassthru() Read from open file, until EOF, and write result to output buffer
fputcsv() Format line as CSV and write to an open file
fputs() Alias of fwrite() function
fread() Read from open file
fscanf() Parse input from open file according to specified format
fseek() Seek in open file
fstat() Return info about open file
ftell() Return current position in open file
ftruncate() Truncate open file to specified length
fwrite() Write to an open file
glob() Return array of filenames / directories matching specified pattern
is_dir() Check whether a file is directory
is_executable() Check whether a file is executable
is_file() Check whether a file is regular file
is_link() Check whether a file is link
is_readable() Check whether file is readable
is_uploaded_file() Check whether file was uploaded via HTTP POST
is_writable() Check whether file is writeable
is_writeable() Alias of is_writable() function
lchgrp() Change group ownership of symlink
lchown() Change user ownership of symlink
link() Create hard link
linkinfo() Return info about hard link
lstat() Return info about file or symbolic link
mkdir() Create directory
move_uploaded_file() Move uploaded file to new location
parse_ini_file() Parse configuration file
parse_ini_string() Parse configuration string
pathinfo() Return info about file path
pclose() Close pipe opened by popen()
popen() Open pipe
readfile() Read file and write to output buffer
readlink() Return target of symbolic link
realpath() Return absolute pathname
realpath_cache_get() Return realpath cache entries
realpath_cache_size() Return realpath cache size
rename() Rename file or directory
rewind() Rewind file pointer
rmdir() Remove empty directory
set_file_buffer() Set buffer size of open file
stat() Returns information about file
symlink() Create symbolic link
tempnam() Create unique temporary file
tmpfile() Create unique temporary file
touch() Set access and modification time of file
umask() Change file permissions for files
unlink() Delete file

PHP File Function: Summary

  • Inbuilt PHP functions that are used to access and manipulate filesystems can simply called filesystem functions. They don't require installation.
  • Directories are separated using forward slashes (/). On Windows you can use backward slashes (\) as well.
  • PHP file function is probably used the most. You can read a file into array using it. PHP file() is able to read both binary data and characters.