/home/techb158/ileadtechnology.com/vendor/symfony/mime
NameSizeModeActions
Crypto/-0755rm
DependencyInjection/-0755rm
Encoder/-0755rm
Exception/-0755rm
Header/-0755rm
Part/-0755rm
Resources/-0755rm
Test/-0755rm
Address.php46890644editdlrm
BodyRendererInterface.php4180644editdlrm
CHANGELOG.md4570644editdlrm
CharacterStream.php95420644editdlrm
composer.json15060644editdlrm
Email.php168750644editdlrm
FileBinaryMimeTypeGuesser.php25290644editdlrm
FileinfoMimeTypeGuesser.php18830644editdlrm
LICENSE10680644editdlrm
Message.php42160644editdlrm
MessageConverter.php54750644editdlrm
MimeTypeGuesserInterface.php8260644editdlrm
MimeTypes.php1808840644editdlrm
MimeTypesInterface.php7770644editdlrm
RawMessage.php18750644editdlrm
README.md4590644editdlrm
Edit: /home/techb158/ileadtechnology.com/vendor/symfony/mime/FileBinaryMimeTypeGuesser.php (2529B)
* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Mime; use Symfony\Component\Mime\Exception\InvalidArgumentException; use Symfony\Component\Mime\Exception\LogicException; /** * Guesses the MIME type with the binary "file" (only available on *nix). * * @author Bernhard Schussek */ class FileBinaryMimeTypeGuesser implements MimeTypeGuesserInterface { private $cmd; /** * The $cmd pattern must contain a "%s" string that will be replaced * with the file name to guess. * * The command output must start with the MIME type of the file. * * @param string $cmd The command to run to get the MIME type of a file */ public function __construct(string $cmd = 'file -b --mime -- %s 2>/dev/null') { $this->cmd = $cmd; } /** * {@inheritdoc} */ public function isGuesserSupported(): bool { static $supported = null; if (null !== $supported) { return $supported; } if ('\\' === \DIRECTORY_SEPARATOR || !\function_exists('passthru') || !\function_exists('escapeshellarg')) { return $supported = false; } ob_start(); passthru('command -v file', $exitStatus); $binPath = trim(ob_get_clean()); return $supported = 0 === $exitStatus && '' !== $binPath; } /** * {@inheritdoc} */ public function guessMimeType(string $path): ?string { if (!is_file($path) || !is_readable($path)) { throw new InvalidArgumentException(sprintf('The "%s" file does not exist or is not readable.', $path)); } if (!$this->isGuesserSupported()) { throw new LogicException(sprintf('The "%s" guesser is not supported.', __CLASS__)); } ob_start(); // need to use --mime instead of -i. see #6641 passthru(sprintf($this->cmd, escapeshellarg((str_starts_with($path, '-') ? './' : '').$path)), $return); if ($return > 0) { ob_end_clean(); return null; } $type = trim(ob_get_clean()); if (!preg_match('#^([a-z0-9\-]+/[a-z0-9\-\+\.]+)#i', $type, $match)) { // it's not a type, but an error message return null; } return $match[1]; } }