Common file handling functions.

Fields on the file entity:

  • fid: File ID
  • uid: The {users}.uid of the user who is associated with the file.
  • filename: Name of the file with no path components. This may differ from the basename of the filepath if the file is renamed to avoid overwriting an existing file.
  • uri: URI of the file.
  • filemime: The file's MIME type.
  • filesize: The size of the file in bytes.
  • status: A bitmapped field indicating the status of the file. The first 8 bits are reserved for Backdrop core. The least significant bit indicates temporary (0) or permanent (1). Temporary files older than BACKDROP_MAXIMUM_TEMP_FILE_AGE will be removed during cron runs.
  • timestamp: UNIX timestamp for the date the file was added to the database.


core/includes/, line 16
API for handling file uploads and server file management.


Namesort descending Location Description
backdrop_basename core/includes/ Gets the filename from a given path.
backdrop_chmod core/includes/ Sets the permissions on a file or directory.
backdrop_dirname core/includes/ Gets the name of the directory from a given path.
backdrop_mkdir core/includes/ Creates a directory using Backdrop's default mode.
backdrop_move_uploaded_file core/includes/ Moves an uploaded file to a new location.
backdrop_realpath core/includes/ Resolves the absolute filepath of a local URI or filepath.
backdrop_rmdir core/includes/ Removes a directory.
backdrop_tempnam core/includes/ Creates a file with a unique filename in the specified directory.
backdrop_unlink core/includes/ Deletes a file.
file_build_uri core/includes/ Constructs a URI to Backdrop's default files location given a relative path.
file_copy core/includes/ Copies a file to a new location and adds a file record to the database.
file_create_filename core/includes/ Creates a full file path from a directory and filename.
file_create_url core/includes/ Creates a web-accessible URL for a stream to an external or local file.
file_default_scheme core/includes/ Gets the default file stream implementation.
file_delete core/includes/ Deletes a file and its database record.
file_delete_multiple core/includes/ Deletes files.
file_destination core/includes/ Determines the destination path for a file.
file_directory_temp core/includes/ Gets the path of system-appropriate temporary directory.
file_download core/includes/ Page callback: Handles private file transfers.
file_download_access core/includes/ Checks that the current user has access to a particular file.
file_download_headers core/includes/ Retrieves headers for a private file download.
file_ensure_htaccess core/includes/ Creates a .htaccess file in each files directory if it is missing.
file_get_content_headers core/includes/ Examines a file entity and returns appropriate content headers for download.
file_get_mimetype core/includes/ Determines an Internet Media Type or MIME type from a filename.
file_get_stream_wrappers core/includes/ Provides Backdrop stream wrapper registry.
file_htaccess_lines core/includes/ Returns the standard .htaccess lines that Backdrop adds to file directories.
file_load core/includes/ Loads a single file entity from the database.
file_load_multiple core/includes/ Loads file entities from the database.
file_move core/includes/ Moves a file to a new location and update the file's database entry.
file_munge_filename core/includes/ Modifies a filename as needed for security purposes.
file_prepare_directory core/includes/ Checks that the directory exists and is writable.
file_save core/includes/ Saves a new or updated file.
file_save_data core/includes/ Saves a file to the specified destination and creates a database entry.
file_save_htaccess core/includes/ Creates a .htaccess file in the given directory.
file_save_upload core/includes/ Saves a file upload to a new location.
file_scan_directory core/includes/ Finds all files that match a given mask in a given directory.
file_space_used core/includes/ Determines total disk space used by a single user or the whole filesystem.
file_stream_wrapper_get_class core/includes/ Returns the stream wrapper class name for a given scheme.
file_stream_wrapper_get_instance_by_scheme core/includes/ Returns a reference to the stream wrapper class responsible for a scheme.
file_stream_wrapper_get_instance_by_uri core/includes/ Returns a reference to the stream wrapper class responsible for a given URI.
file_stream_wrapper_uri_normalize core/includes/ Normalizes a URI by making it syntactically correct.
file_stream_wrapper_valid_scheme core/includes/ Checks that the scheme of a stream URI is valid.
file_transfer core/includes/ Transfers a file to the client using HTTP.
file_unmanaged_copy core/includes/ Copies a file to a new location without database changes or hook invocation.
file_unmanaged_delete core/includes/ Deletes a file without database changes or hook invocations.
file_unmanaged_delete_recursive core/includes/ Deletes all files and directories in the specified filepath recursively.
file_unmanaged_move core/includes/ Moves a file to a new location without database changes or hook invocation. This is a powerful function that in many ways performs like an advanced version of rename().
file_unmanaged_prepare core/includes/ Internal function that prepares the destination for a file_unmanaged_copy or file_unmanaged_move operation.
file_unmanaged_save_data core/includes/ Saves a file to the specified destination without invoking file API.
file_unmunge_filename core/includes/ Undoes the effect of file_munge_filename().
file_upload_max_size core/includes/ Determines the maximum file upload size by querying the PHP settings.
file_uri_normalize_dot_segments core/includes/ Normalize dot segments in a URI.
file_uri_scheme core/includes/ Returns the scheme of a URI (e.g. a stream).
file_uri_target core/includes/ Returns the part of a URI after the schema.
file_usage_add core/includes/ Records that a module is using a file.
file_usage_delete core/includes/ Removes a record to indicate that a module is no longer using a file.
file_usage_list core/includes/ Determines where a file is used.
file_validate core/includes/ Checks that a file meets the criteria specified by the validators.
file_validate_extensions core/includes/ Checks that the filename ends with an allowed extension.
file_validate_image_orientation core/includes/ Check for EXIF orientation data and rotate file if needed.
file_validate_image_resolution core/includes/ Verifies that image dimensions are within the specified maximum and minimum.
file_validate_is_image core/includes/ Checks that the file is recognized by image_get_info() as an image.
file_validate_name_length core/includes/ Checks for files with names longer than can be stored in the database.
file_validate_size core/includes/ Checks that the file's size is below certain limits.
file_validate_svg core/includes/ Validate uploaded SVG files.
file_valid_uri core/includes/ Determines whether the URI has a valid scheme for file API operations.


Namesort descending Location Description
FILE_CREATE_DIRECTORY core/includes/ Flag used by file_prepare_directory() -- create directory if not present.
FILE_EXISTS_ERROR core/includes/ Flag for dealing with existing files: Do nothing and return FALSE.
FILE_EXISTS_RENAME core/includes/ Flag for dealing with existing files: Appends number until name is unique.
FILE_EXISTS_REPLACE core/includes/ Flag for dealing with existing files: Replace the existing file.
FILE_MODIFY_PERMISSIONS core/includes/ Flag used by file_prepare_directory() -- file permissions may be changed.
FILE_STATUS_PERMANENT core/includes/ Indicates that the file is permanent and should not be deleted.