field_file_load

Versions
6
field_file_load($fid, $reset = NULL)

Load a file from the database.

Parameters

$fid A numeric file id or string containing the file path.

$reset Whether to reset the internal file_load cache.

Return value

A file array.

▾ 9 functions call field_file_load()

filefield_field_load in contrib/filefield/filefield_field.inc
Implementation of CCK's hook_field($op = 'load').
filefield_field_sanitize in contrib/filefield/filefield_field.inc
Implementation of CCK's hook_field($op = 'sanitize').
filefield_widget_process in contrib/filefield/filefield_widget.inc
An element #process callback for the filefield_widget field type.
filefield_widget_validate in contrib/filefield/filefield_widget.inc
An #element_validate callback for the filefield_widget field.
filefield_widget_value in contrib/filefield/filefield_widget.inc
The #value_callback for the filefield_widget type element.
lightbox2_imagefield_image_imagecache in contrib/lightbox2/lightbox2.formatter.inc
Function to set up the data needed for theme_imagefield_image_imagecache_lightbox2().
theme_filefield_formatter_path_plain in contrib/filefield/filefield_formatter.inc
Theme function for the 'path_plain' formatter.
theme_filefield_formatter_url_plain in contrib/filefield/filefield_formatter.inc
Theme function for the 'url_plain' formatter.
thickbox_field_formatter in contrib/thickbox/thickbox.module
Implementation of hook_field_formatter().

Code

contrib/filefield/field_file.inc, line 18

<?php
function field_file_load($fid, $reset = NULL) {
  // Reset internal cache.
  if (isset($reset)) {
    _field_file_cache(NULL, TRUE);
  }

  if (empty($fid)) {
    return array('fid' => 0, 'filepath' => '', 'filename' => '', 'filemime' => '', 'filesize' => 0);
  }

  $files = _field_file_cache();

  // Serve file from internal cache if available.
  if (empty($files[$fid])) {
    if (is_numeric($fid)) {
      $file = db_fetch_object(db_query('SELECT f.* FROM {files} f WHERE f.fid = %d', $fid));
    }
    else {
      $file = db_fetch_object(db_query("SELECT f.* FROM {files} f WHERE f.filepath = '%s'", $fid));
    }

    if (!$file) {
      $file = (object) array('fid' => 0, 'filepath' => '', 'filename' => '', 'filemime' => '', 'filesize' => 0);
    }

    foreach (module_implements('file_load') as $module) {
      $function = $module .'_file_load';
      $function($file);
    }

    // Cache the fully loaded file for later use.
    $files = _field_file_cache($file);
  }

  // Cast to an array for the field storage.
  // Contrary to fields, hook_file() and core file functions expect objects.
  return isset($files[$fid]) ? (array) $files[$fid] : FALSE;
}
?>