php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #72596 imagetypes function won't advertise WEBP support
Submitted: 2016-07-14 12:52 UTC Modified: 2016-07-14 14:13 UTC
From: chris at ocproducts dot com Assigned: cmb (profile)
Status: Closed Package: GD related
PHP Version: Irrelevant OS:
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: chris at ocproducts dot com
New email:
PHP Version: OS:

 

 [2016-07-14 12:52 UTC] chris at ocproducts dot com
Description:
------------
The imagetypes function will not return a bitmask value for if WEBP support is available, which is available with read/write since PHP 5.5. All other formats are currently covered (except for GD which is implied, and XBM which is implied by XPM).

Here's the code from PHP7 to confirm...

/* {{{ proto int imagetypes(void)
   Return the types of images supported in a bitfield - 1=GIF, 2=JPEG, 4=PNG, 8=WBMP, 16=XPM */
PHP_FUNCTION(imagetypes)
{
	int ret=0;
	ret = 1;
#ifdef HAVE_GD_JPG
	ret |= 2;
#endif
#ifdef HAVE_GD_PNG
	ret |= 4;
#endif
	ret |= 8;
#if defined(HAVE_GD_XPM)
	ret |= 16;
#endif

	if (zend_parse_parameters_none() == FAILURE) {
		return;
	}

	RETURN_LONG(ret);
}


Personally I'd recommend just dropping the function, given that GD-Info returns details in its report and you can just use function_exists. Removing a function and a set of constants may lower the PHP overhead slightly. But if it stays it should be consistent with what PHP can do.


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2016-07-14 14:13 UTC] cmb@php.net
-Status: Open +Status: Verified -Assigned To: +Assigned To: cmb
 [2016-07-14 14:13 UTC] cmb@php.net
Thanks for the report.

> Personally I'd recommend just dropping the function, […]

Due to backward compatibility reasons, that would have to be
postponed to a major (or maybe minor) version, and would require
an RFC, and most likely a deprecation phase. The bug would have,
however, to be fixed for PHP 5.6+ anyway.
 [2016-07-14 15:31 UTC] cmb@php.net
Automatic comment on behalf of cmb
Revision: http://git.php.net/?p=php-src.git;a=commit;h=8bb3bd04a9d38c08dce0034ad8fc1263631d28ff
Log: Fix bug #72596: imagetypes function won't advertise WEBP support
 [2016-07-14 15:31 UTC] cmb@php.net
-Status: Verified +Status: Closed
 [2016-07-14 15:38 UTC] cmb@php.net
Automatic comment from SVN on behalf of cmb
Revision: http://svn.php.net/viewvc/?view=revision&revision=339665
Log: Document #72596: imagetypes function won't advertise WEBP support
 [2016-07-14 15:48 UTC] cmb@php.net
Automatic comment from SVN on behalf of cmb
Revision: http://svn.php.net/viewvc/?view=revision&revision=339666
Log: Document #72596: imagetypes function won't advertise WEBP support

Update migration guides.
 [2016-10-17 10:11 UTC] bwoebi@php.net
Automatic comment on behalf of cmb
Revision: http://git.php.net/?p=php-src.git;a=commit;h=8bb3bd04a9d38c08dce0034ad8fc1263631d28ff
Log: Fix bug #72596: imagetypes function won't advertise WEBP support
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Nov 21 15:01:30 2024 UTC