Error message
You are browsing documentation for drupal 7.x, which is not supported anymore. Read the updated version of this page for drupal 11.x (the latest version).function file_save
Saves a file object to the database.
If the $file->fid is not set a new record will be added.
Parameters
$file: A file object returned by file_load().
Return value
The updated file object.
See also
Related topics
- File interface
- Common file handling functions.
13 calls to file_save()
- EntityCrudHookTestCase::testFileHooks in modules/
simpletest/ tests/ entity_crud_hook_test.test - Tests hook invocations for CRUD operations on files.
- FileFieldTestCase::createTemporaryFile in modules/
file/ tests/ file.test - Creates a temporary file, for a specific user.
- FileSaveTest::testFileSave in modules/
simpletest/ tests/ file.test - file_copy in includes/
file.inc - Copies a file to a new location and adds a file record to the database.
- file_field_presave in modules/
file/ file.field.inc - Implements hook_field_presave().
File
-
includes/
file.inc, line 626
Code
function file_save (stdClass $file) {
$file->timestamp = REQUEST_TIME ;
$file->filesize = filesize ($file->uri );
// Load the stored entity, if any.
if (!empty($file->fid) && !isset($file->original)) {
$file->original = entity_load_unchanged ('file', $file->fid);
}
module_invoke_all ('file_presave', $file);
module_invoke_all ('entity_presave', $file, 'file');
if (empty($file->fid)) {
drupal_write_record ('file_managed', $file);
// Inform modules about the newly added file.
module_invoke_all ('file_insert', $file);
module_invoke_all ('entity_insert', $file, 'file');
}
else {
drupal_write_record ('file_managed', $file, 'fid');
// Inform modules that the file has been updated.
module_invoke_all ('file_update', $file);
module_invoke_all ('entity_update', $file, 'file');
}
// Clear internal properties.
unset($file->original);
// Clear the static loading cache.
entity_get_controller ('file')->resetCache (array(
$file->fid,
));
return $file;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.