public function FileBinaryMimeTypeGuesser::guess in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/symfony/http-foundation/File/MimeType/FileBinaryMimeTypeGuesser.php \Symfony\Component\HttpFoundation\File\MimeType\FileBinaryMimeTypeGuesser::guess()
Guesses the mime type of the file with the given path.
Parameters
string $path The path to the file:
Return value
string The mime type or NULL, if none could be guessed
Throws
FileNotFoundException If the file does not exist
AccessDeniedException If the file could not be read
Overrides MimeTypeGuesserInterface::guess
File
- vendor/
symfony/ http-foundation/ File/ MimeType/ FileBinaryMimeTypeGuesser.php, line 54
Class
- FileBinaryMimeTypeGuesser
- Guesses the mime type with the binary "file" (only available on *nix).
Namespace
Symfony\Component\HttpFoundation\File\MimeTypeCode
public function guess($path) {
if (!is_file($path)) {
throw new FileNotFoundException($path);
}
if (!is_readable($path)) {
throw new AccessDeniedException($path);
}
if (!self::isSupported()) {
return;
}
ob_start();
// need to use --mime instead of -i. see #6641
passthru(sprintf($this->cmd, escapeshellarg($path)), $return);
if ($return > 0) {
ob_end_clean();
return;
}
$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;
}
return $match[1];
}