File interface

Common file handling functions.

Fields on the file object:

  • 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 Drupal core. The least significant bit indicates temporary (0) or permanent (1). Temporary files older than DRUPAL_MAXIMUM_TEMP_FILE_AGE will be removed during cron runs.
  • timestamp: UNIX timestamp for the date the file was added to the database.

Constants

NameLocationDescription
FILE_CREATE_DIRECTORYincludes/file.incFlag used by file_prepare_directory() -- create directory if not present.
FILE_EXISTS_ERRORincludes/file.incFlag for dealing with existing files: Do nothing and return FALSE.
FILE_EXISTS_RENAMEincludes/file.incFlag for dealing with existing files: Appends number until name is unique.
FILE_EXISTS_REPLACEincludes/file.incFlag for dealing with existing files: Replace the existing file.
FILE_MODIFY_PERMISSIONSincludes/file.incFlag used by file_prepare_directory() -- file permissions may be changed.
FILE_STATUS_PERMANENTincludes/file.incIndicates that the file is permanent and should not be deleted.

Functions

NameLocationDescription
drupal_chmodincludes/file.incSet the permissions on a file or directory.
drupal_dirnameincludes/file.incGets the name of the directory from a given path.
drupal_mkdirincludes/file.incCreates a directory using Drupal's default mode.
drupal_realpathincludes/file.incReturns the absolute path of a file or directory
drupal_tempnamincludes/file.incCreates a file with a unique filename in the specified directory.
file_build_uriincludes/file.incGiven a relative path, construct a URI into Drupal's default files location.
file_copyincludes/file.incCopy a file to a new location and adds a file record to the database.
file_create_filenameincludes/file.incCreate a full file path from a directory and filename.
file_create_htaccessincludes/file.incCreates an .htaccess file in the given directory.
file_create_urlincludes/file.incCreates a web-accessible URL for a stream to an external or local file.
file_deleteincludes/file.incDelete a file and its database record.
file_destinationincludes/file.incDetermines the destination path for a file depending on how replacement of existing files should be handled.
file_directory_pathincludes/file.incDetermines the local directory path of a given wrapper.
file_downloadincludes/file.incMenu handler for private file transfers.
file_ensure_htaccessincludes/file.incIf missing, create a .htaccess file in each Drupal files directory.
file_get_mimetypeincludes/file.incDetermine an Internet Media Type, or MIME type from a filename.
file_get_stream_wrappersincludes/file.incDrupal stream wrapper registry.
file_loadincludes/file.incLoad a file object from the database.
file_load_multipleincludes/file.incLoad file objects from the database.
file_moveincludes/file.incMove a file to a new location and update the file's database entry.
file_munge_filenameincludes/file.incModify a filename as needed for security purposes.
file_prepare_directoryincludes/file.incCheck that the directory exists and is writable.
file_saveincludes/file.incSave a file object to the database.
file_save_dataincludes/file.incSave a string to the specified destination and create a database file entry.
file_save_uploadincludes/file.incSaves a file upload to a new location.
file_scan_directoryincludes/file.incFinds all files that match a given mask in a given directory.
file_space_usedincludes/file.incDetermine total disk space used by a single user or the whole filesystem.
file_stream_wrapper_get_classincludes/file.incReturns the stream wrapper class name for a given scheme.
file_stream_wrapper_get_instance_by_schemeincludes/file.incReturns a reference to the stream wrapper class responsible for a given scheme.
file_stream_wrapper_get_instance_by_uriincludes/file.incReturns a reference to the stream wrapper class responsible for a given URI.
file_stream_wrapper_uri_normalizeincludes/file.incNormalizes a URI by making it syntactically correct.
file_stream_wrapper_valid_schemeincludes/file.incCheck that the scheme of a stream URI is valid.
file_transferincludes/file.incTransfer file using HTTP to client.
file_unmanaged_copyincludes/file.incCopy a file to a new location without invoking the file API.
file_unmanaged_deleteincludes/file.incDelete a file without calling any hooks or making any changes to the database.
file_unmanaged_delete_recursiveincludes/file.incRecursively delete all files and directories in the specified filepath.
file_unmanaged_moveincludes/file.incMove a file to a new location without calling any hooks or making any changes to the database.
file_unmanaged_save_dataincludes/file.incSave a string to the specified destination without invoking file API.
file_unmunge_filenameincludes/file.incUndo the effect of upload_munge_filename().
file_upload_max_sizeincludes/file.incDetermine the maximum file upload size by querying the PHP settings.
file_uri_schemeincludes/file.incReturns the scheme of a URI (e.g. a stream).
file_uri_targetincludes/file.incReturns the target of a URI (e.g. a stream).
file_validateincludes/file.incCheck that a file meets the criteria specified by the validators.
file_validate_extensionsincludes/file.incCheck that the filename ends with an allowed extension.
file_validate_image_resolutionincludes/file.incVerify that image dimensions are within the specified maximum and minimum.
file_validate_is_imageincludes/file.incCheck that the file is recognized by image_get_info() as an image.
file_validate_name_lengthincludes/file.incCheck for files with names longer than we can store in the database.
file_validate_sizeincludes/file.incCheck that the file's size is below certain limits.