Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Phpexiftool

Phpexiftool Laravel Package

alchemy/phpexiftool

PHP wrapper for ExifTool that lets you read, write, and edit metadata in images and media files. Offers a simple object-oriented API for extracting EXIF, IPTC, and XMP data, with batch processing support for Laravel or any PHP project.

View on GitHub
Deep Wiki
Context7

A PHP Exiftool driver

Frequently asked questions about Phpexiftool
Is alchemy/phpexiftool a Laravel package?
No. It is a framework-agnostic PHP adapter that shells out to the exiftool binary and returns typed Metadata and Tag value objects. There is no Laravel facade, config publishing, or queue-aware batching, so you would own the service provider binding and configuration glue in your application.
How do I install alchemy/phpexiftool in a Laravel project?
Install it with Composer and make sure the exiftool Perl binary is present in every container or worker image at a pinned version. In Laravel, bind the driver as a singleton behind your own MetadataExtractor interface in a service provider and drive the binary path, timeout, and temp directory from config or environment variables. Keep the library's types out of controllers and models by mapping to your own DTOs.
Does alchemy/phpexiftool support Laravel 10 or Laravel 11?
The package does not declare Laravel framework support because it is framework-agnostic; its constraints are on PHP and symfony/process. Whether it installs alongside a given Laravel version depends on whether its symfony/process constraint resolves against the version Laravel already pins. Run a Composer spike on your target Laravel and PHP versions before committing.
How do I configure the exiftool binary path in Laravel?
There is no publishable config file, so configuration is application-owned. Bind the client in a service provider and pass the binary path, timeout, and temp directory from config/media.php or environment variables. Also set LC_ALL=C in the process environment to stabilize output parsing across locales.
Can alchemy/phpexiftool batch process multiple files?
The wrapper lets you iterate over many files, but each read or write generally spawns a separate exiftool process unless the library uses exiftool's persistent -stay_open mode. Verify the current release, because without persistent mode throughput is bounded by fork/exec latency and full-file I/O. For Laravel, dispatch batches as queued jobs and monitor worker capacity.
What metadata formats can alchemy/phpexiftool read and write?
It reads and writes EXIF, IPTC, and XMP metadata in images and media files through ExifTool, and hydrates typed Metadata and Tag value objects from the output. Write operations mutate original files, so any wrapper bug is data-destructive rather than merely noisy. Test write paths against copies and pin the exiftool binary version.
Is alchemy/phpexiftool safe for production use?
Adoption signal is weak at roughly 41 stars and zero dependents, so you may be among the first serious users and will absorb edge-case discovery. The codebase is small enough to fork and vendor if abandoned, which mitigates the low bus factor. Pin the exiftool binary, set a stable locale, and resolve the NOASSERTION license question with legal before production.
How do I test alchemy/phpexiftool in a Laravel application?
There are no built-in Laravel testing helpers, so test behind your own interface: fake the MetadataExtractor in application tests and use integration tests with fixture media files for the real driver. Pin the exiftool binary in CI so version-dependent tag naming and formatting stay stable. Assert on your DTOs rather than on the library's internal types.
What are the alternatives to alchemy/phpexiftool for EXIF metadata in PHP?
PHP's exif_read_data reads basic EXIF but lacks IPTC, XMP, video, and RAW coverage, while spatie/image is for image manipulation rather than deep metadata extraction. alchemy/phpexiftool is additive when you need ExifTool's broader format support or write capability. An external media service is another option if you want to avoid a binary dependency.
Is alchemy/phpexiftool actively maintained and what if it is abandoned?
A recent release is reassuring, but maintainer concentration is high and the bus factor is low. Because the codebase is a thin adapter, the practical fallback is to fork and vendor it or replace it with direct Symfony Process calls behind your interface. Keep the dependency behind an application-owned boundary so migration stays low-risk.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo
bernskioldmedia/laravel-harvest
bernskiold/laravel-data-scrubber
bernskiold/laravel-currency-converter
bernskiold/laravel-campaign-monitor
bernskioldmedia/laravel-autotranslate
siberfx/telegram-bot
roy-sandip/laravel-view-extended
gregsphotography/site-builder-core
roy-sandip/laravel-view
anodyne/blade-fluentui-icons
webx-ui/module-catalog-collections