/home/kueuepay/www/vendor/intervention/image/src/Intervention/Image/Commands/ExifCommand.php
<?php

namespace Intervention\Image\Commands;

use Intervention\Image\Exception\NotReadableException;
use Intervention\Image\Exception\NotSupportedException;

class ExifCommand extends AbstractCommand
{
    /**
     * Read Exif data from the given image
     *
     * Note: Windows PHP Users - in order to use this method you will need to
     * enable the mbstring and exif extensions within the php.ini file.
     *
     * @param  \Intervention\Image\Image $image
     * @return boolean
     */
    public function execute($image)
    {
        if (!function_exists('exif_read_data')) {
            throw new NotSupportedException(
                "Reading Exif data is not supported by this PHP installation."
            );
        }

        $key = $this->argument(0)->value();

        // try to read exif data from image file
        try {
            if ($image->dirname && $image->basename) {
                $stream = $image->dirname . '/' . $image->basename;
            } elseif (version_compare(PHP_VERSION, '7.2.0', '>=')) {
                // https://www.php.net/manual/en/function.exif-read-data.php#refsect1-function.exif-read-data-changelog
                $stream = $image->stream()->detach();
            } else {
                // https://bugs.php.net/bug.php?id=65187
                $stream = $image->encode('data-url')->encoded;
            }

            $data = @exif_read_data($stream);

            if (!is_null($key) && is_array($data)) {
                $data = array_key_exists($key, $data) ? $data[$key] : false;
            }

        } catch (\Exception $e) {
            throw new NotReadableException(
                sprintf(
                    "Cannot read the Exif data from the filename (%s) provided ",
                    $image->dirname . '/' . $image->basename
                ),
                $e->getCode(),
                $e
            );
        }

        $this->setOutput($data);
        return true;
    }
}
Security

Support

If you encounter any issues or need assistance, please reach out to our dedicated developer support team Contact Us

Thank you for choosing Kueue Pay Payment Gateway Solutions! We look forward to seeing your integration thrive and provide a seamless payment experience for your valued customers.