File interface

  1. drupal
    1. 4.6 includes/file.inc
    2. 4.7 includes/file.inc
    3. 5 includes/file.inc
    4. 6 includes/file.inc
    5. 7 includes/file.inc
    6. 8 core/includes/file.inc

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.

Functions & methods

NameDescription
drupal_basenameGets the filename from a given path.
drupal_chmodSets the permissions on a file or directory.
drupal_dirnameGets the name of the directory from a given path.
drupal_mkdirCreates a directory using Drupal's default mode.
drupal_move_uploaded_fileMoves an uploaded file to a new location.
drupal_realpathReturns the absolute local filesystem path of a stream URI.
drupal_rmdirRemoves a directory.
drupal_tempnamCreates a file with a unique filename in the specified directory.
drupal_unlinkDeletes a file.
file_build_uriConstructs a URI to Drupal's default files location given a relative path.
file_copyCopies a file to a new location and adds a file record to the database.
file_create_filenameCreates a full file path from a directory and filename.
file_create_urlCreates a web-accessible URL for a stream to an external or local file.
file_default_schemeGets the default file stream implementation.
file_deleteDeletes a file and its database record.
file_destinationDetermines the destination path for a file.
file_directory_tempGets the path of system-appropriate temporary directory.
file_downloadPage callback: Handles private file transfers.
file_ensure_htaccessCreates a .htaccess file in each Drupal files directory if it is missing.
file_get_content_headersExamines a file object and returns appropriate content headers for download.
file_get_mimetypeDetermines an Internet Media Type or MIME type from a filename.
file_get_stream_wrappersProvides Drupal stream wrapper registry.
file_loadLoads a single file object from the database.
file_load_multipleLoads file objects from the database.
file_moveMoves a file to a new location and update the file's database entry.
file_munge_filenameModifies a filename as needed for security purposes.
file_prepare_directoryChecks that the directory exists and is writable.
file_saveSaves a file object to the database.
file_save_dataSaves a file to the specified destination and creates a database entry.
file_save_htaccessCreates a .htaccess file in the given directory.
file_save_uploadSaves a file upload to a new location.
file_scan_directoryFinds all files that match a given mask in a given directory.
file_space_usedDetermines total disk space used by a single user or the whole filesystem.
file_stream_wrapper_get_classReturns the stream wrapper class name for a given scheme.
file_stream_wrapper_get_instance_by_schemeReturns a reference to the stream wrapper class responsible for a scheme.
file_stream_wrapper_get_instance_by_uriReturns a reference to the stream wrapper class responsible for a given URI.
file_stream_wrapper_uri_normalizeNormalizes a URI by making it syntactically correct.
file_stream_wrapper_valid_schemeChecks that the scheme of a stream URI is valid.
file_transferTransfers a file to the client using HTTP.
file_unmanaged_copyCopies a file to a new location without invoking the file API.
file_unmanaged_deleteDeletes a file without database changes or hook invocations.
file_unmanaged_delete_recursiveDeletes all files and directories in the specified filepath recursively.
file_unmanaged_moveMoves a file to a new location without database changes or hook invocation.
file_unmanaged_save_dataSaves a file to the specified destination without invoking file API.
file_unmunge_filenameUndoes the effect of file_munge_filename().
file_upload_max_sizeDetermines the maximum file upload size by querying the PHP settings.
file_uri_schemeReturns the scheme of a URI (e.g. a stream).
file_uri_targetReturns the part of a URI after the schema.
file_usage_addRecords that a module is using a file.
file_usage_deleteRemoves a record to indicate that a module is no longer using a file.
file_usage_listDetermines where a file is used.
file_validateChecks that a file meets the criteria specified by the validators.
file_validate_extensionsChecks that the filename ends with an allowed extension.
file_validate_image_resolutionVerifies that image dimensions are within the specified maximum and minimum.
file_validate_is_imageChecks that the file is recognized by image_get_info() as an image.
file_validate_name_lengthChecks for files with names longer than can be stored in the database.
file_validate_sizeChecks that the file's size is below certain limits.
file_valid_uriDetermines whether the URI has a valid scheme for file API operations.

Constants

NameDescription
FILE_CREATE_DIRECTORYFlag used by file_prepare_directory() -- create directory if not present.
FILE_EXISTS_ERRORFlag for dealing with existing files: Do nothing and return FALSE.
FILE_EXISTS_RENAMEFlag for dealing with existing files: Appends number until name is unique.
FILE_EXISTS_REPLACEFlag for dealing with existing files: Replace the existing file.
FILE_MODIFY_PERMISSIONSFlag used by file_prepare_directory() -- file permissions may be changed.
FILE_STATUS_PERMANENTIndicates that the file is permanent and should not be deleted.

File

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

Login or register to post comments