Automattic / Automattic/VIP-Coding-Standards

Sniff for getimagesize()

Open
#685 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
PHP
Stars
261
Forks
44
Avg merge
19m
Merged PRs (30d)
1

Description

## What problem would the enhancement address for VIP?

`getimagesize()` holds up the PHP process downloading the entire image to just read its file size.

## Describe the solution you'd like

Most images in WPs Media Library have width and height attributes already (like from `wp_get_attachment_metadata()`) & that existing data should be used instead.

If the image is external and not in WordPress' media library, perhapes:
* a VIP helper function could be created [to download only first few bytes of image](https://www.php.net/manual/en/function.getimagesize.php#88793)
* don't use this function, or do image sizing w/ JS or CSS instead

## What code should be reported as a violation?

```php
$size = getimagesize( $image_url );
list($width, $height) = getimagesize( $image_url );
//etc.
```

Contributor guide

Open the contributing guide

Research direction

Start with the getimagesize() violation examples and the proposed wp_get_attachment_metadata() path, then review how the ruleset identifies PHP function calls. Clarify the expected handling for Media Library images versus external URLs before defining completion and adding coverage for both cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.