--- /dev/null
+--TEST--
+Bug #13213 (GetImageSize and wrong JPEG Comments
+--FILE--
+<?php
+var_dump(GetImageSize(dirname(__FILE__).'/bug13213.jpg'));
+?>
+--EXPECT--
+array(7) {
+ [0]=>
+ int(1)
+ [1]=>
+ int(1)
+ [2]=>
+ int(2)
+ [3]=>
+ string(20) "width="1" height="1""
+ ["bits"]=>
+ int(8)
+ ["channels"]=>
+ int(3)
+ ["mime"]=>
+ string(10) "image/jpeg"
+}
\ No newline at end of file
--- /dev/null
+--TEST--
+GetImageSize()
+--SKIPIF--
+<?php
+ require_once('skipif_imagetype.inc');
+?>
+--FILE--
+<?php
+ // Note: SWC requires zlib
+ $dir = opendir(dirname(__FILE__)) or die('cannot open directory: '.dirname(__FILE__));
+ $result = array();
+ $files = array();
+ while (($file = readdir($dir)) !== FALSE) {
+ if (preg_match('/^test.+pix\./',$file)) {
+ $files[] = $file;
+ }
+ }
+ closedir($dir);
+ sort($files);
+ foreach($files as $file) {
+ $result[$file] = getimagesize(dirname(__FILE__)."/$file");
+ }
+ var_dump($result);
+?>
+--EXPECT--
+array(9) {
+ ["test1pix.bmp"]=>
+ array(5) {
+ [0]=>
+ int(1)
+ [1]=>
+ int(1)
+ [2]=>
+ int(6)
+ [3]=>
+ string(20) "width="1" height="1""
+ ["mime"]=>
+ string(9) "image/bmp"
+ }
+ ["test1pix.jpc"]=>
+ array(6) {
+ [0]=>
+ int(1)
+ [1]=>
+ int(1)
+ [2]=>
+ int(9)
+ [3]=>
+ string(20) "width="1" height="1""
+ ["bits"]=>
+ int(3)
+ ["mime"]=>
+ string(10) "image/jpeg"
+ }
+ ["test1pix.jpg"]=>
+ array(7) {
+ [0]=>
+ int(1)
+ [1]=>
+ int(1)
+ [2]=>
+ int(2)
+ [3]=>
+ string(20) "width="1" height="1""
+ ["bits"]=>
+ int(8)
+ ["channels"]=>
+ int(3)
+ ["mime"]=>
+ string(10) "image/jpeg"
+ }
+ ["test2pix.gif"]=>
+ array(7) {
+ [0]=>
+ int(2)
+ [1]=>
+ int(1)
+ [2]=>
+ int(1)
+ [3]=>
+ string(20) "width="2" height="1""
+ ["bits"]=>
+ int(1)
+ ["channels"]=>
+ int(3)
+ ["mime"]=>
+ string(9) "image/gif"
+ }
+ ["test4pix.gif"]=>
+ array(7) {
+ [0]=>
+ int(4)
+ [1]=>
+ int(1)
+ [2]=>
+ int(1)
+ [3]=>
+ string(20) "width="4" height="1""
+ ["bits"]=>
+ int(2)
+ ["channels"]=>
+ int(3)
+ ["mime"]=>
+ string(9) "image/gif"
+ }
+ ["test4pix.iff"]=>
+ array(6) {
+ [0]=>
+ int(4)
+ [1]=>
+ int(1)
+ [2]=>
+ int(14)
+ [3]=>
+ string(20) "width="4" height="1""
+ ["bits"]=>
+ int(4)
+ ["mime"]=>
+ string(9) "image/iff"
+ }
+ ["test4pix.png"]=>
+ array(5) {
+ [0]=>
+ int(4)
+ [1]=>
+ int(1)
+ [2]=>
+ int(3)
+ [3]=>
+ string(20) "width="4" height="1""
+ ["mime"]=>
+ string(9) "image/png"
+ }
+ ["test4pix.psd"]=>
+ array(5) {
+ [0]=>
+ int(4)
+ [1]=>
+ int(1)
+ [2]=>
+ int(5)
+ [3]=>
+ string(20) "width="4" height="1""
+ ["mime"]=>
+ string(9) "image/psd"
+ }
+ ["test4pix.tif"]=>
+ array(5) {
+ [0]=>
+ int(4)
+ [1]=>
+ int(1)
+ [2]=>
+ int(7)
+ [3]=>
+ string(20) "width="4" height="1""
+ ["mime"]=>
+ string(10) "image/tiff"
+ }
+}
\ No newline at end of file
--- /dev/null
+--TEST--
+image_type_to_mime_type()
+--SKIPIF--
+<?php
+ if (!function_exists('image_type_to_mime_type')) die('skip image_type_to_mime_type() not available');
+ require_once('skipif_imagetype.inc');
+?>
+--FILE--
+<?php
+ // Note: SWC requires zlib
+ $dir = opendir(dirname(__FILE__)) or die('cannot open directory: '.dirname(__FILE__));
+ $result = array();
+ $files = array();
+ while (($file = readdir($dir)) !== FALSE) {
+ if (preg_match('/^test.+pix\./',$file)) {
+ $files[] = $file;
+ }
+ }
+ closedir($dir);
+ sort($files);
+ foreach($files as $file) {
+ $result[$file] = getimagesize(dirname(__FILE__)."/$file");
+ $result[$file] = image_type_to_mime_type($result[$file][2]);
+ }
+ var_dump($result);
+?>
+--EXPECT--
+array(9) {
+ ["test1pix.bmp"]=>
+ string(9) "image/bmp"
+ ["test1pix.jpc"]=>
+ string(10) "image/jpeg"
+ ["test1pix.jpg"]=>
+ string(10) "image/jpeg"
+ ["test2pix.gif"]=>
+ string(9) "image/gif"
+ ["test4pix.gif"]=>
+ string(9) "image/gif"
+ ["test4pix.iff"]=>
+ string(9) "image/iff"
+ ["test4pix.png"]=>
+ string(9) "image/png"
+ ["test4pix.psd"]=>
+ string(9) "image/psd"
+ ["test4pix.tif"]=>
+ string(10) "image/tiff"
+}
\ No newline at end of file
--- /dev/null
+<?php
+if (!defined('IMAGETYPE_GIF')) die('skip images of type GIF not supported');
+if (!defined('IMAGETYPE_JPEG')) die('skip images of type JPEG not supported');
+if (!defined('IMAGETYPE_PNG')) die('skip images of type PNG not supported');
+//if (!defined('IMAGETYPE_SWF')) die('skip images of type SWF not supported');
+if (!defined('IMAGETYPE_PSD')) die('skip images of type PSD not supported');
+if (!defined('IMAGETYPE_BMP')) die('skip images of type BMP not supported');
+if (!defined('IMAGETYPE_TIFF_II')) die('skip images of type TIFF not supported');
+if (!defined('IMAGETYPE_TIFF_MM')) die('skip images of type TIFF not supported');
+if (!defined('IMAGETYPE_JPC')) die('skip images of type JPC not supported');
+//if (!defined('IMAGETYPE_JP2')) die('skip images of type JP2 not supported');
+//if (!defined('IMAGETYPE_JPX')) die('skip images of type JPX not supported');
+//if (!defined('IMAGETYPE_JB2')) die('skip images of type JB2 not supported');
+//if (!defined('IMAGETYPE_SWC')) die('skip images of type SWC not supported'); // SWC requires zlib
+if (!defined('IMAGETYPE_IFF')) die('skip images of type IFF not supported');
+?>