Manual:Thumb.php

From MediaWiki.org
Jump to: navigation, search

Other languages:
català • ‎Deutsch • ‎Ελληνικά • ‎English • ‎español • ‎suomi • ‎français • ‎italiano • ‎日本語 • ‎Nederlands • ‎polski • ‎português • ‎português do Brasil • ‎中文

Details[edit | edit source]

Script used to resize images if it is configured to be done when the web browser requests the image and not when generating the page.

To use it, set $wgThumbnailScriptPath to the path of this file.

Parameters are f for file name, w for width, p for page in multipaged files (if available).

Example: https://commons.wikimedia.org/w/thumb.php?f=Delle_strade_ferrate_e_della_loro_futura_influenza_in_Europa.djvu&w=600&p=206

404 Handler[edit | edit source]

This script can also be used as a 404 handler to generate image thumbs when they don't exist. To use it, follow the steps below, then set $wgGenerateThumbnailOnParse to false. If you have $wgLocalFileRepo defined in LocalSettings.php, then you need to also set:

$wgLocalFileRepo['transformVia404'] = true;

MediaWiki >= 1.20[edit | edit source]

Create a rewrite rule to call thumb_handler.php when a file in $wgUploadPath/thumb/ doesn't exist. If your wiki is in the /w directory, something like this should work on apache:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/?w/images/thumb/[0-9a-f]/[0-9a-f][0-9a-f]/[^/]+/[^/]+$ /w/thumb_handler.php [L,QSA]
# If your $wgHashedUploadDirectory is false, remove the first two steps after thumb/
 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/?w/images/thumb/archive/[0-9a-f]/[0-9a-f][0-9a-f]/[^/]+/[^/]+$ /w/thumb_handler.php [L,QSA]

If this doesn't work, the 1.19 version should still work.

MediaWiki <= 1.19[edit | edit source]

Create a rewrite rule to call this script when a file in $wgUploadPath/thumb/ doesn't exist. If your wiki is in the /wiki directory, something like this should work on apache:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?w/images/thumb/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ /w/thumb.php?f=$1&width=$2 [L,QSA,B]
# If your $wgHashedUploadDirectory is false, remove the first two steps after thumb/
 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?w/images/thumb/archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ /w/thumb.php?f=$1&width=$2&archived=1 [L,QSA,B]
# If your $wgHashedUploadDirectory is false, remove the first two steps after thumb/archive/

Example: http://www.mediawiki.org/w/thumb.php?f=example.jpg&width=100

Scripted transform[edit | edit source]

Just add the following code to the bottom of LocalSettings.php.

$wgThumbnailScriptPath = "{$wgScriptPath}/thumb{$wgScriptExtension}";

No apache config changes needed. This will cause thumb.php to either return the file if its already been rendered, or render the file on demand if needed.

See also[edit | edit source]