file_unmanaged_delete

7 file.inc file_unmanaged_delete($path)
8 file.inc file_unmanaged_delete($path)

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

12 calls to file_unmanaged_delete()

File

includes/file.inc, line 1282
API for handling file uploads and server file management.

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;
}

Comments

Returns TRUE but does not delete

What could the cause be?
Thanks!

$path = uri

If you would wonder why the file that you wanted to delete wasn't deleted, use instead of the path the uri like: file_unmanaged_delete('public://data/sample2.png'); .

Login or register to post comments