This commit is contained in:
Xes
2025-08-14 22:41:49 +02:00
parent 2de81ccc46
commit 8ce45119b6
39774 changed files with 4309466 additions and 0 deletions

View File

@@ -0,0 +1,71 @@
<?php
/**
* This file is part of the PHPExiftool package.
*
* (c) Alchemy <support@alchemy.fr>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPExiftool\Driver\Value;
use PHPExiftool\Exception\InvalidArgumentException;
class Binary implements ValueInterface
{
protected $value;
public function __construct($value)
{
$this->set($value);
}
public function getType()
{
return self::TYPE_BINARY;
}
public function asString()
{
return $this->value;
}
public function asArray()
{
return (array) $this->value;
}
public function asBase64()
{
return base64_encode($this->value);
}
public function set($value)
{
$this->value = $value;
return $this;
}
public function setBase64Value($base64Value)
{
if (false === $value = base64_decode($base64Value, true)) {
throw new InvalidArgumentException('The value should be base64 encoded');
}
$this->value = $value;
return $this;
}
public static function loadFromBase64($base64Value)
{
if (false === $value = base64_decode($base64Value, true)) {
throw new InvalidArgumentException('The value should be base64 encoded');
}
return new static($value);
}
}

View File

@@ -0,0 +1,49 @@
<?php
/**
* This file is part of the PHPExiftool package.
*
* (c) Alchemy <support@alchemy.fr>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPExiftool\Driver\Value;
class Mono implements ValueInterface
{
protected $value;
public function __construct($value)
{
$this->set($value);
}
public function getType()
{
return self::TYPE_MONO;
}
public function set($value)
{
$this->value = (string) $value;
return $this;
}
public function asString()
{
return $this->value;
}
public function asArray()
{
return (array) $this->value;
}
public function __toString()
{
return $this->value;
}
}

View File

@@ -0,0 +1,70 @@
<?php
/**
* This file is part of the PHPExiftool package.
*
* (c) Alchemy <support@alchemy.fr>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPExiftool\Driver\Value;
class Multi implements ValueInterface
{
protected $value = array();
public function __construct($value = null)
{
if ($value) {
$this->addValue($value);
}
}
public function getType()
{
return self::TYPE_MULTI;
}
public function addValue($value)
{
$this->value = array_merge($this->value, (array) $value);
return $this;
}
public function set($value)
{
$this->value = (array) $value;
return $this;
}
public function reset()
{
$this->value = array();
return $this;
}
public function serialize($separator = ' ; ')
{
return implode($separator, $this->value);
}
public function asString()
{
return $this->serialize();
}
public function asArray()
{
return $this->value;
}
public function __toString()
{
return $this->serialize();
}
}

View File

@@ -0,0 +1,27 @@
<?php
/**
* This file is part of the PHPExiftool package.
*
* (c) Alchemy <support@alchemy.fr>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPExiftool\Driver\Value;
interface ValueInterface
{
const TYPE_BINARY = 'binary';
const TYPE_MONO = 'mono';
const TYPE_MULTI = 'multi';
public function set($value);
public function getType();
public function asString();
public function asArray();
}