/
var
/
www
/
vhosts
/
ihelp.ro
/
httpdocs
/
vendor
/
mirko-pagliai
/
php-thumber
/
src
/
/var/www/vhosts/ihelp.ro/httpdocs/vendor/mirko-pagliai/php-thumber/src
mkdir
upload
Name
Size
Mode
Actions
Exception/
-
0755
rm
TestSuite/
-
0755
rm
ThumbCreator.php
11540
0644
edit
dl
rm
ThumbManager.php
3362
0644
edit
dl
rm
Edit:
/var/www/vhosts/ihelp.ro/httpdocs/vendor/mirko-pagliai/php-thumber/src/ThumbManager.php
(3362B)
<?php declare(strict_types=1); /** * This file is part of php-thumber. * * Licensed under The MIT License * For full copyright and license information, please see the LICENSE.txt * Redistributions of files must retain the above copyright notice. * * @copyright Copyright (c) Mirko Pagliai * @link https://github.com/mirko-pagliai/php-thumber * @license https://opensource.org/licenses/mit-license.php MIT License */ namespace Thumber; use Symfony\Component\Finder\Finder; use Symfony\Component\Finder\SplFileInfo; use Tools\Exceptionist; use Tools\Filesystem; /** * A utility to manage thumbnails */ class ThumbManager { /** * Supported formats * @var string[] */ protected const SUPPORTED_FORMATS = ['bmp', 'gif', 'ico', 'jpg', 'png', 'psd', 'tiff']; /** * Internal method to clear thumbnails * @param string[] $filenames Filenames * @return int Number of thumbnails deleted * @throws \Tools\Exception\NotReadableException */ protected function _clear(array $filenames): int { array_walk($filenames, function (string $filename): void { $filename = Filesystem::instance()->concatenate(THUMBER_TARGET, $filename); Filesystem::instance()->remove(Exceptionist::isReadable($filename)); }); return count($filenames); } /** * Internal method to find thumbnails * @param string $pattern A pattern (a regexp, a glob, or a string) * @param bool $sort Whether results should be sorted * @return string[] Filenames */ protected function _find(string $pattern = '', bool $sort = false): array { $pattern = $pattern ?: sprintf('/[\d\w]{32}_[\d\w]{32}\.(%s)$/', implode('|', self::SUPPORTED_FORMATS)); $finder = (new Finder())->files()->name($pattern)->in(THUMBER_TARGET); return array_map(fn(SplFileInfo $file): string => $file->getFilename(), iterator_to_array($sort ? $finder->sortByName() : $finder)); } /** * Clears all thumbnails that have been generated from an image path * @param string $path Path of the original image * @return int Number of thumbnails deleted * @throws \Tools\Exception\NotReadableException */ public function clear(string $path): int { return $this->_clear($this->get($path)); } /** * Clears all thumbnails * @return int Number of thumbnails deleted * @throws \Tools\Exception\NotReadableException */ public function clearAll(): int { return $this->_clear($this->getAll()); } /** * Gets all thumbnails that have been generated from an image path * @param string $path Path of the original image * @param bool $sort Whether results should be sorted * @return string[] * @throws \Tools\Exception\NotReadableException */ public function get(string $path, bool $sort = false): array { $pattern = sprintf('/%s_[\d\w]{32}\.(%s)$/', md5(Exceptionist::isReadable($path)), implode('|', self::SUPPORTED_FORMATS)); return $this->_find($pattern, $sort); } /** * Gets all thumbnails * @param bool $sort Whether results should be sorted * @return string[] */ public function getAll(bool $sort = false): array { return $this->_find('', $sort); } }
Save
cmd:
run