MediaWiki  master
BmpHandler.php
Go to the documentation of this file.
1 <?php
30 class BmpHandler extends BitmapHandler {
35  public function mustRender( $file ) {
36  return true;
37  }
38 
47  public function getThumbType( $ext, $mime, $params = null ) {
48  return [ 'png', 'image/png' ];
49  }
50 
58  function getImageSize( $image, $filename ) {
59  $f = fopen( $filename, 'rb' );
60  if ( !$f ) {
61  return false;
62  }
63  $header = fread( $f, 54 );
64  fclose( $f );
65 
66  // Extract binary form of width and height from the header
67  $w = substr( $header, 18, 4 );
68  $h = substr( $header, 22, 4 );
69 
70  // Convert the unsigned long 32 bits (little endian):
71  try {
72  $w = wfUnpack( 'V', $w, 4 );
73  $h = wfUnpack( 'V', $h, 4 );
74  } catch ( Exception $e ) {
75  return false;
76  }
77 
78  return [ $w[1], $h[1] ];
79  }
80 }
if(PHP_SAPI !='cli-server') if(!isset( $_SERVER['SCRIPT_FILENAME'])) $file
Item class for a filearchive table row.
Definition: router.php:42
getImageSize( $image, $filename)
Get width and height from the bmp header.
Definition: BmpHandler.php:58
Handler for Microsoft&#39;s bitmap format; getimagesize() doesn&#39;t support these files.
Definition: BmpHandler.php:30
getThumbType( $ext, $mime, $params=null)
Render files as PNG.
Definition: BmpHandler.php:47
mustRender( $file)
Definition: BmpHandler.php:35
$header
if(!is_readable( $file)) $ext
Definition: router.php:48
Generic handler for bitmap images.
wfUnpack( $format, $data, $length=false)
Wrapper around php&#39;s unpack.