+ +
+

File Helper

+

The File Helper file contains functions that assist in working with files.

+ +
+

Loading this Helper

+

This helper is loaded using the following code:

+
$this->load->helper('file');
+
+
+
+
+

Available Functions

+

The following functions are available:

+
+
+read_file($file)
+
+++ + + + + + + + +
Parameters:
    +
  • $file (string) – File path
  • +
+
Returns:

File contents or FALSE on failure

+
Return type:

string

+
+

Returns the data contained in the file specified in the path.

+

Example:

+
$string = read_file('./path/to/file.php');
+
+
+

The path can be a relative or full server path. Returns FALSE (boolean) on failure.

+
+

Note

+

The path is relative to your main site index.php file, NOT your +controller or view files. CodeIgniter uses a front controller so paths +are always relative to the main site index.

+
+
+

Note

+

This function is DEPRECATED. Use the native file_get_contents() +instead.

+
+
+

Important

+

If your server is running an open_basedir restriction this +function might not work if you are trying to access a file above the +calling script.

+
+
+ +
+
+write_file($path, $data[, $mode = 'wb'])
+
+++ + + + + + + + +
Parameters:
    +
  • $path (string) – File path
  • +
  • $data (string) – Data to write to file
  • +
  • $mode (string) – fopen() mode
  • +
+
Returns:

TRUE if the write was successful, FALSE in case of an error

+
Return type:

bool

+
+

Writes data to the file specified in the path. If the file does not exist then the +function will create it.

+

Example:

+
$data = 'Some file data';
+if ( ! write_file('./path/to/file.php', $data))
+{
+        echo 'Unable to write the file';
+}
+else
+{
+        echo 'File written!';
+}
+
+
+

You can optionally set the write mode via the third parameter:

+
write_file('./path/to/file.php', $data, 'r+');
+
+
+

The default mode is ‘wb’. Please see the PHP user guide +for mode options.

+
+

Note

+

The path is relative to your main site index.php file, NOT your +controller or view files. CodeIgniter uses a front controller so paths +are always relative to the main site index.

+
+
+

Note

+

This function acquires an exclusive lock on the file while writing to it.

+
+
+ +
+
+delete_files($path[, $del_dir = FALSE[, $htdocs = FALSE]])
+
+++ + + + + + + + +
Parameters:
    +
  • $path (string) – Directory path
  • +
  • $del_dir (bool) – Whether to also delete directories
  • +
  • $htdocs (bool) – Whether to skip deleting .htaccess and index page files
  • +
+
Returns:

TRUE on success, FALSE in case of an error

+
Return type:

bool

+
+

Deletes ALL files contained in the supplied path.

+

Example:

+
delete_files('./path/to/directory/');
+
+
+

If the second parameter is set to TRUE, any directories contained within the supplied +root path will be deleted as well.

+

Example:

+
delete_files('./path/to/directory/', TRUE);
+
+
+
+

Note

+

The files must be writable or owned by the system in order to be deleted.

+
+
+ +
+
+get_filenames($source_dir[, $include_path = FALSE])
+
+++ + + + + + + + +
Parameters:
    +
  • $source_dir (string) – Directory path
  • +
  • $include_path (bool) – Whether to include the path as part of the filenames
  • +
+
Returns:

An array of file names

+
Return type:

array

+
+

Takes a server path as input and returns an array containing the names of all files +contained within it. The file path can optionally be added to the file names by setting +the second parameter to TRUE.

+

Example:

+
$controllers = get_filenames(APPPATH.'controllers/');
+
+
+
+ +
+
+get_dir_file_info($source_dir, $top_level_only)
+
+++ + + + + + + + +
Parameters:
    +
  • $source_dir (string) – Directory path
  • +
  • $top_level_only (bool) – Whether to look only at the specified directory (excluding sub-directories)
  • +
+
Returns:

An array containing info on the supplied directory’s contents

+
Return type:

array

+
+

Reads the specified directory and builds an array containing the filenames, filesize, +dates, and permissions. Sub-folders contained within the specified path are only read +if forced by sending the second parameter to FALSE, as this can be an intensive +operation.

+

Example:

+
$models_info = get_dir_file_info(APPPATH.'models/');
+
+
+
+ +
+
+get_file_info($file[, $returned_values = array('name', 'server_path', 'size', 'date')])
+
+++ + + + + + + + +
Parameters:
    +
  • $file (string) – File path
  • +
  • $returned_values (array) – What type of info to return
  • +
+
Returns:

An array containing info on the specified file or FALSE on failure

+
Return type:

array

+
+

Given a file and path, returns (optionally) the name, path, size and date modified +information attributes for a file. Second parameter allows you to explicitly declare what +information you want returned.

+

Valid $returned_values options are: name, size, date, readable, writeable, +executable and fileperms.

+
+ +
+
+get_mime_by_extension($filename)
+
+++ + + + + + + + +
Parameters:
    +
  • $filename (string) – File name
  • +
+
Returns:

MIME type string or FALSE on failure

+
Return type:

string

+
+

Translates a filename extension into a MIME type based on config/mimes.php. +Returns FALSE if it can’t determine the type, or read the MIME config file.

+
$file = 'somefile.png';
+echo $file.' is has a mime type of '.get_mime_by_extension($file);
+
+
+
+

Note

+

This is not an accurate way of determining file MIME types, and +is here strictly for convenience. It should not be used for security +purposes.

+
+
+ +
+
+symbolic_permissions($perms)
+
+++ + + + + + + + +
Parameters:
    +
  • $perms (int) – Permissions
  • +
+
Returns:

Symbolic permissions string

+
Return type:

string

+
+

Takes numeric permissions (such as is returned by fileperms()) and returns +standard symbolic notation of file permissions.

+
echo symbolic_permissions(fileperms('./index.php'));  // -rw-r--r--
+
+
+
+ +
+
+octal_permissions($perms)
+
+++ + + + + + + + +
Parameters:
    +
  • $perms (int) – Permissions
  • +
+
Returns:

Octal permissions string

+
Return type:

string

+
+

Takes numeric permissions (such as is returned by fileperms()) and returns +a three character octal notation of file permissions.

+
echo octal_permissions(fileperms('./index.php')); // 644
+
+
+
+ +
+
+ + +