file_unmanaged_delete

  1. drupal
    1. 7
Versions
7 file_unmanaged_delete($path)

Delete a file without calling any hooks or making any changes to the database.

This function should be used when the file to be deleted does not have an entry recorded in the files table.

Parameters

$path A string containing a file path or (streamwrapper) URI.

Return value

TRUE for success or path does not exist, or FALSE in the event of an error.

See also

file_delete()

file_unmanaged_delete_recursive()

Related topics

▾ 8 functions call file_unmanaged_delete()

drupal_delete_file_if_stale in drupal/includes/common.inc
Callback to delete files modified more than a set time ago.
file_delete in drupal/includes/file.inc
Delete a file and its database record.
file_example_delete_submit in examples/file_example/file_example.module
Submit handler to delete a file.
file_unmanaged_delete_recursive in drupal/includes/file.inc
Recursively delete all files and directories in the specified filepath.
file_unmanaged_move in drupal/includes/file.inc
Move a file to a new location without calling any hooks or making any changes to the database.
image_path_flush in drupal/modules/image/image.module
Clear cached versions of a specific file in all styles.
locale_uninstall in drupal/modules/locale/locale.install
Implements hook_uninstall().
_locale_rebuild_js in drupal/includes/locale.inc
(Re-)Creates the JavaScript translation file for a language.

Code

drupal/includes/file.inc, line 1261

<?php
function file_unmanaged_delete($path) {
  // Resolve streamwrapper URI to local path.
  $path = drupal_realpath($path);
  if (is_dir($path)) {
    watchdog('file', '%path is a directory and cannot be removed using file_unmanaged_delete().', array('%path' => $path), WATCHDOG_ERROR);
    return FALSE;
  }
  if (is_file($path)) {
    return drupal_unlink($path);
  }
  // Return TRUE for non-existent file, but log that nothing was actually
  // deleted, as the current state is the intended result.
  if (!file_exists($path)) {
    watchdog('file', 'The file %path was not deleted, because it does not exist.', array('%path' => $path), WATCHDOG_NOTICE);
    return TRUE;
  }
  // We cannot handle anything other than files and directories. Log an error
  // for everything else (sockets, symbolic links, etc).
  watchdog('file', 'The file %path is not of a recognized type so it was not deleted.', array('%path' => $path), WATCHDOG_ERROR);
  return FALSE;
}
?>