]> granicus.if.org Git - php/commitdiff
MFH: image_type_to_mime_type()
authorHannes Magnusson <bjori@php.net>
Sun, 25 Jun 2006 21:06:39 +0000 (21:06 +0000)
committerHannes Magnusson <bjori@php.net>
Sun, 25 Jun 2006 21:06:39 +0000 (21:06 +0000)
ext/standard/basic_functions.c
ext/standard/image.c
ext/standard/tests/image/image_type_to_extension.phpt [new file with mode: 0644]

index c0a0efcf090c18a479f44f62a9b6155d893f8b64..c881df9397f516d84538d1c79c5d21d39bc164d0 100644 (file)
@@ -196,6 +196,7 @@ zend_function_entry basic_functions[] = {
        PHP_FE(iptcembed,                                                                                                               NULL)
        PHP_FE(getimagesize,                    second_arg_force_ref)
        PHP_FE(image_type_to_mime_type,                                                                                 NULL)
+       PHP_FE(image_type_to_extension,                                                                                 NULL)
 
        PHP_FE(phpinfo,                                                                                                                 NULL)
        PHP_FE(phpversion,                                                                                                              NULL)
index 9cb94fbc6ea324457fb9769c2a2a2413f41eec2e..b7c06a289e7c7e091288751c0cd38bbf597b6018 100644 (file)
@@ -1165,6 +1165,10 @@ PHP_FUNCTION(image_type_to_extension)
                        RETURN_STRING(".jpc" + !inc_dot, 1);
                case IMAGE_FILETYPE_JP2:
                        RETURN_STRING(".jp2" + !inc_dot, 1);
+        case IMAGE_FILETYPE_JPX:
+            RETURN_STRING(".jpx" + !inc_dot, 1);
+        case IMAGE_FILETYPE_JB2:
+            RETURN_STRING(".jb2" + !inc_dot, 1);
                case IMAGE_FILETYPE_XBM:
                        RETURN_STRING(".xbm" + !inc_dot, 1);
        }
diff --git a/ext/standard/tests/image/image_type_to_extension.phpt b/ext/standard/tests/image/image_type_to_extension.phpt
new file mode 100644 (file)
index 0000000..534123c
--- /dev/null
@@ -0,0 +1,80 @@
+--TEST--
+image_type_to_extension()
+--SKIPIF--
+<?php 
+       if (!function_exists('image_type_to_extension')) die('skip image_type_to_extension() not available'); 
+       require_once('skipif_imagetype.inc');
+?>
+--FILE--
+<?php
+    $constants = array(
+        "IMAGETYPE_GIF"      => IMAGETYPE_GIF,
+        "IMAGETYPE_JPEG"     => IMAGETYPE_JPEG,
+        "IMAGETYPE_PNG"      => IMAGETYPE_PNG,
+        "IMAGETYPE_SWF"      => IMAGETYPE_SWF,
+        "IMAGETYPE_PSD"      => IMAGETYPE_PSD,
+        "IMAGETYPE_BMP"      => IMAGETYPE_BMP,
+        "IMAGETYPE_TIFF_II"  => IMAGETYPE_TIFF_II,
+        "IMAGETYPE_TIFF_MM"  => IMAGETYPE_TIFF_MM,
+        "IMAGETYPE_JPC"      => IMAGETYPE_JPC,
+        "IMAGETYPE_JP2"      => IMAGETYPE_JP2,
+        "IMAGETYPE_JPX"      => IMAGETYPE_JPX,
+        "IMAGETYPE_JB2"      => IMAGETYPE_JB2,
+        "IMAGETYPE_IFF"      => IMAGETYPE_IFF,
+        "IMAGETYPE_WBMP"     => IMAGETYPE_WBMP,
+        "IMAGETYPE_JPEG2000" => IMAGETYPE_JPEG2000,
+        "IMAGETYPE_XBM"      => IMAGETYPE_XBM
+    );
+    foreach($constants as $name => $constant) {
+        printf("Constant: %s\n\tWith dot: %s\n\tWithout dot: %s\n", $name, image_type_to_extension($constant), image_type_to_extension($constant, false));
+    }
+?>
+--EXPECT--
+Constant: IMAGETYPE_GIF
+       With dot: .gif
+       Without dot: gif
+Constant: IMAGETYPE_JPEG
+       With dot: .jpeg
+       Without dot: jpeg
+Constant: IMAGETYPE_PNG
+       With dot: .png
+       Without dot: png
+Constant: IMAGETYPE_SWF
+       With dot: .swf
+       Without dot: swf
+Constant: IMAGETYPE_PSD
+       With dot: .psd
+       Without dot: psd
+Constant: IMAGETYPE_BMP
+       With dot: .bmp
+       Without dot: bmp
+Constant: IMAGETYPE_TIFF_II
+       With dot: .tiff
+       Without dot: tiff
+Constant: IMAGETYPE_TIFF_MM
+       With dot: .tiff
+       Without dot: tiff
+Constant: IMAGETYPE_JPC
+       With dot: .jpc
+       Without dot: jpc
+Constant: IMAGETYPE_JP2
+       With dot: .jp2
+       Without dot: jp2
+Constant: IMAGETYPE_JPX
+       With dot: .jpx
+       Without dot: jpx
+Constant: IMAGETYPE_JB2
+       With dot: .jb2
+       Without dot: jb2
+Constant: IMAGETYPE_IFF
+       With dot: .iff
+       Without dot: iff
+Constant: IMAGETYPE_WBMP
+       With dot: .bmp
+       Without dot: bmp
+Constant: IMAGETYPE_JPEG2000
+       With dot: .jpc
+       Without dot: jpc
+Constant: IMAGETYPE_XBM
+       With dot: .xbm
+       Without dot: xbm