You are here

function file_validate_extensions in Drupal 6

Same name and namespace in other branches
  1. 8 core/modules/file/file.module \file_validate_extensions()
  2. 7 includes/file.inc \file_validate_extensions()
  3. 9 core/modules/file/file.module \file_validate_extensions()
  4. 10 core/modules/file/file.module \file_validate_extensions()

Check that the filename ends with an allowed extension. This check is not enforced for the user #1.

Parameters

$file: A Drupal file object.

$extensions: A string with a space separated list of allowed file extensions, not including the period. For example, 'bmp jpg gif png'.

Return value

An array. If the file extension is not allowed, it will contain an error message.

Related topics

File

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

Code

function file_validate_extensions($file, $extensions) {
  global $user;
  $errors = array();

  // Bypass validation for uid  = 1.
  if ($user->uid != 1) {
    $regex = '/\\.(' . @ereg_replace(' +', '|', preg_quote($extensions)) . ')$/i';
    if (!preg_match($regex, $file->filename)) {
      $errors[] = t('Only files with the following extensions are allowed: %files-allowed.', array(
        '%files-allowed' => $extensions,
      ));
    }
  }
  return $errors;
}