file_unmanaged_delete
- 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.
See also
@see file_unmanaged_delete_recursive()
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.
Related topics
Code
includes/file.inc, line 965
<?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 unlink($path);
}
// Return TRUE for non-existent file, but log that nothing was actually
// deleted, as the current state is the indended 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;
}
?>Login or register to post comments 