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_unmanaged_delete

Same name and namespace in other branches
  1. 8.9.x core/includes/file.inc \file_unmanaged_delete()

Deletes a file without database changes or hook invocations.

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

File interface
Common file handling functions.
12 calls to file_unmanaged_delete()
drupal_delete_file_if_stale in includes/common.inc
Callback to delete files modified more than a set time ago.
FileUnmanagedDeleteTest::testDirectory in modules/simpletest/tests/file.test
Try deleting a directory.
FileUnmanagedDeleteTest::testMissing in modules/simpletest/tests/file.test
Try deleting a missing file.
FileUnmanagedDeleteTest::testNormal in modules/simpletest/tests/file.test
Delete a normal file.
file_delete in includes/file.inc
Deletes a file and its database record.

... See full list

File

includes/file.inc, line 1367

Code

function file_unmanaged_delete ($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;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.