Manual:$wgFileExtensions

Details
$wgFileExtensions is the list of allowed/preferred extensions for uploading files in LocalSettings.php. It is overridden, however, by $wgFileBlacklist and $wgMimeTypeBlacklist.

If $wgStrictFileExtensions is set to true (default) then this $wgFileExtensions array is the list of allowed extensions, and all others are blocked.

If $wgStrictFileExtensions is set to false, then users will only get a warning when uploading files with extensions not in this list. i.e. $wgFileExtensions is then only a preferred set of extensions. In this case some particularly dangerous file extensions will still be blocked using $wgFileBlacklist and $wgMimeTypeBlacklist.

If $wgCheckFileExtensions is false, this option has no effect since all file extensions will be permitted without performing any checks.

If $wgEnableUploads is set to false, this option has no effect since all uploading is disallowed.

Some files, for example OpenDocument files (e.g. used by OpenOffice.org as odt, ods, odg, ...), use MIME types that don't match with their extension (or something similar). Uploading such files results in an error message like. In such cases you can adjust the mapping of file extensions to mime types, see MIME type validation.

Example
$wgFileExtensions is a php array, which is initialised with a default (sensible) set of file extensions. In LocalSettings.php you might use array operations such as...

Files without extensions (hack)
To allow uploading of files that don't have extensions, you will need to apply the following hack: Edit $IP/includes/SpecialUpload.php and at line 351 (in version 1.11.1), change

to In other words, comment out the action that is taken if there's no file extension.

in newer MediaWiki versions (>= 1.11.2) you also have to do additional modifactions in $IP/includes/SpecialUpload.php

change (around line 1023)

to

to suppress the warning on the upload dialog add following line to your LocalSettings.php:

In MediaWiki 1.17.0, this hack works. In "$IP/includes/upload/UploadBase.php", comment out the contents of this if { } clause: