PHPackages                             sagittariusx/beluga.drawing.image.exif - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Image &amp; Media](/categories/media)
4. /
5. sagittariusx/beluga.drawing.image.exif

ActiveLibrary[Image &amp; Media](/categories/media)

sagittariusx/beluga.drawing.image.exif
======================================

Some tools for easy getting image EXIF and IPTC meta data

0.1.0(9y ago)04LGPLv3PHPPHP &gt;=7.0

Since Aug 25Pushed 9y agoCompare

[ Source](https://github.com/SagittariusX/Beluga.Drawing.Image.Exif)[ Packagist](https://packagist.org/packages/sagittariusx/beluga.drawing.image.exif)[ RSS](/packages/sagittariusx-belugadrawingimageexif/feed)WikiDiscussions master Synced 4w ago

READMEChangelog (1)Dependencies (5)Versions (2)Used By (0)

Beluga.Drawing.Image.Exif
=========================

[](#belugadrawingimageexif)

Some tools for easy getting image EXIF and IPTC meta data

Installation
------------

[](#installation)

```
composer require sagittariusx/beluga.drawing.image.exif
```

or include it inside you're composer.json

```
{
   "require": {
      "sagittariusx/beluga.drawing.image.exif": "^0.1.0"
   }
}
```

Usage
-----

[](#usage)

If you want to load some EXIF and/or IPTC data from an image you can do it by 4 different ways:

### With PHP only

[](#with-php-only)

```
// Init the PHP only loader that get the data directly without requirement of some PHP extensions or something else
$loader = new \Beluga\Drawing\Image\Exif\Loader\PHP();

// Load the META data from a image
$data = $loader->load( __DIR__ . '/IMG_0169-2.JPG' );

// Debug output the META data
print_r( $data );
```

### With ExifTool

[](#with-exiftool)

If you have installed the exiftool (available for Win, MAC and Linux) commandline utility you can use it to get more detailed META data.

```
// Init the loader
$loader = new \Beluga\Drawing\Image\Exif\Loader\ExifTool();

if ( ! $loader->isConfigured() )
{
   // Exiftool is not known to the system, declare it manually
   try
   {
      $loader->configure( [ 'path' => '\usr\local\bin\exiftool' ] );
   }
   catch ( \Throwable $ex ) { echo $ex; exit; }
}

if ( ! $loader->isConfigured() )
{
   // The loader for exiftool is not configured right
   // Use the PHP loader as fallback. It will always do the job
   $loader = new \Beluga\Drawing\Image\Exif\Loader\PHP();
}

// Load the META data from a image
$data = $loader->load( __DIR__ . '/IMG_0169-2.JPG' );

// Debug output the META data
print_r( $data );
```

### With ExiV2

[](#with-exiv2)

Its the same like exiftool but with the `exiv2` executable.

### With JSON sidecar files

[](#with-json-sidecar-files)

If the images have sidecar files with JSON format, that declares the image META data, this load is the right one.

If the image has for example the name `foo.jpg` it will use the sidecar files `foo.jpg.json` or `foo.json`

```
// Init the JSon sidecar files loader
$loader = new \Beluga\Drawing\Image\Exif\Loader\JSon();

// Load the META data from a image
$data = $loader->load( __DIR__ . '/IMG_0169-2.JPG' );

// Debug output the META data
print_r( $data );
```

###  Health Score

22

—

LowBetter than 21% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 66.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

3596d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/ccdb1997342e9edfb20d481ebea751f251b7ef837c7a8622e6b464f56243a0f4?d=identicon)[SagittariusX](/maintainers/SagittariusX)

---

Top Contributors

[![UniKado](https://avatars.githubusercontent.com/u/6945587?v=4)](https://github.com/UniKado "UniKado (2 commits)")[![SagittariusX](https://avatars.githubusercontent.com/u/20841191?v=4)](https://github.com/SagittariusX "SagittariusX (1 commits)")

### Embed Badge

![Health badge](/badges/sagittariusx-belugadrawingimageexif/health.svg)

```
[![Health](https://phpackages.com/badges/sagittariusx-belugadrawingimageexif/health.svg)](https://phpackages.com/packages/sagittariusx-belugadrawingimageexif)
```

###  Alternatives

[goat1000/svggraph

Generates SVG graphs

133890.0k3](/packages/goat1000-svggraph)[imagekit/imagekit

PHP library for Imagekit

46877.3k10](/packages/imagekit-imagekit)[gravatarphp/gravatar

Gravatar URL builder which is most commonly called as a Gravatar library

12644.1k2](/packages/gravatarphp-gravatar)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
