Description
FasterImage finds the dimensions or filetype of a remote image file given its uri by fetching as little as needed, based on the excellent Ruby implementation by Stephen Sykes and PHP implementation by Tom Moor.
FasterImage uses the curl_muli* suite to run requests in parallel. Currently supports JPG, GIF, PNG, WEPB, BMP, PSD, TIFF, and ICO files.
FasterImage alternatives and similar libraries
Based on the "Imagery" category.
Alternatively, view FasterImage alternatives based on common mentions on social networks and blogs.
-
Glide
Wonderfully easy on-demand image manipulation library with an HTTP based API. -
PHP Image Workshop
ImageWorkshop is a PHP5.3+ library that helps you to manage images based on GD library -
Image Optimizer
Image optimization / compression library. This library is able to optimize png, jpg and gif files in very easy and handy way. It uses optipng, pngquant, pngcrush, pngout, gifsicle, jpegoptim and jpegtran tools. -
GIF Creator
GifCreator is a PHP class that creates animated GIF from multiple images -
GIF Frame Extractor
GifFrameExtractor is a PHP class that separates all the frames (and their duration) of an animated GIF -
Image With Text
Create images with embedded text using advanced typography
Clean code begins in your IDE with SonarLint
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of FasterImage or a related project?
README
FasterImage

FasterImage finds the dimensions or filetype of a remote image file given its uri by fetching as little as needed, based on the excellent Ruby implementation by Stephen Sykes and PHP implementation by Tom Moor.
FasterImage uses the curl_muli* suite to run requests in parallel. Currently supports JPG, GIF, PNG, WEBP, BMP, PSD, TIFF, SVG, and ICO files.
Usage
$client = new \FasterImage\FasterImage();
$images = $client->batch([
'http://wwww.example.com/image1.jpg',
'http://wwww.example.com/image2.gif',
'http://wwww.example.com/image3.png',
'http://wwww.example.com/image4.bmp',
'http://wwww.example.com/image5.tiff',
'http://wwww.example.com/image6.psd',
'http://wwww.example.com/image7.webp',
'http://wwww.example.com/image8.ico',
'http://wwww.example.com/image9.cur',
'http://wwww.example.com/image10.svg'
]);
foreach ($images as $image) {
list($width,$height) = $image['size'];
}
Install
composer require fasterimage/fasterimage
Alternatively, add "fasterimage/fasterimage": "~1.5"
to your composer.json
Changelog
- v1.5.0 - Fallback support when curl_multi_init() is not available
- v1.4.0 - Add support for parsing dimensions from SVG images
- v1.3.0 - Add ability for user agent, buffer size, and SSL host/peer verification to be overridden
- v1.2.1 - Limit isRotated to only check for valid orientation values
- v1.2.0 - Add option to include content-length in result set
- v1.1.2 - Update Accept header to accept images
- v1.1.1 - Properly handle jpeg's with corrupted Exif tags
- v1.1.0 - Return message in return array when curl fails
- v1.0.3 - Use external stream package
- v1.0.2 - Fail invalid image exceptions gracefully when using batch requests
- v1.0.1 - Support PHP v5.4+
- v1.0.0 - Stable Release - Support for
.PSD
,.ICO
+.CUR
- v0.0.7 - Remove support for PHP v5.4
- v0.0.6 - Add option to set timeout of requests, support for EXIF in .jpgs, better support for .bmp (including negative height bitmaps) and normalized response indexes for all file types
- v0.0.5 - Support for
.webp
- v0.0.4 - Support for
.tiff
and exceptions for unknown file types - v0.0.3 - Force curl to follow redirects so you get less bad responses
- v0.0.2 - Update curl headers to mimic browser so you get less bad responses
- v0.0.1 - Support for
.jpg
,.bmp
,.gif
,.png
and parallel requests
References
- https://github.com/sdsykes/fastimage
- https://github.com/tommoor/fastimage
- http://pennysmalls.com/find-jpeg-dimensions-fast-in-pure-ruby-no-ima
- http://snippets.dzone.com/posts/show/805
- http://www.anttikupila.com/flash/getting-jpg-dimensions-with-as3-without-loading-the-entire-file/
- http://imagesize.rubyforge.org/
*Note that all licence references and agreements mentioned in the FasterImage README section above
are relevant to that project's source code only.