76 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace Safe;
 | 
						|
 | 
						|
use Safe\Exceptions\FileinfoException;
 | 
						|
 | 
						|
/**
 | 
						|
 * This function closes the resource opened by finfo_open.
 | 
						|
 *
 | 
						|
 * @param resource $finfo Fileinfo resource returned by finfo_open.
 | 
						|
 * @throws FileinfoException
 | 
						|
 *
 | 
						|
 */
 | 
						|
function finfo_close($finfo): void
 | 
						|
{
 | 
						|
    error_clear_last();
 | 
						|
    $result = \finfo_close($finfo);
 | 
						|
    if ($result === false) {
 | 
						|
        throw FileinfoException::createFromPhpError();
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
 * Procedural style
 | 
						|
 *
 | 
						|
 * Object oriented style (constructor):
 | 
						|
 *
 | 
						|
 * This function opens a magic database and returns its resource.
 | 
						|
 *
 | 
						|
 * @param int $options One or disjunction of more Fileinfo
 | 
						|
 * constants.
 | 
						|
 * @param string $magic_file Name of a magic database file, usually something like
 | 
						|
 * /path/to/magic.mime. If not specified, the
 | 
						|
 * MAGIC environment variable is used. If the
 | 
						|
 * environment variable isn't set, then PHP's bundled magic database will
 | 
						|
 * be used.
 | 
						|
 *
 | 
						|
 * Passing NULL or an empty string will be equivalent to the default
 | 
						|
 * value.
 | 
						|
 * @return resource (Procedural style only)
 | 
						|
 * Returns a magic database resource on success.
 | 
						|
 * @throws FileinfoException
 | 
						|
 *
 | 
						|
 */
 | 
						|
function finfo_open(int $options = FILEINFO_NONE, string $magic_file = "")
 | 
						|
{
 | 
						|
    error_clear_last();
 | 
						|
    $result = \finfo_open($options, $magic_file);
 | 
						|
    if ($result === false) {
 | 
						|
        throw FileinfoException::createFromPhpError();
 | 
						|
    }
 | 
						|
    return $result;
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
 * Returns the MIME content type for a file as determined by using
 | 
						|
 * information from the magic.mime file.
 | 
						|
 *
 | 
						|
 * @param string $filename Path to the tested file.
 | 
						|
 * @return string Returns the content type in MIME format, like
 | 
						|
 * text/plain or application/octet-stream.
 | 
						|
 * @throws FileinfoException
 | 
						|
 *
 | 
						|
 */
 | 
						|
function mime_content_type(string $filename): string
 | 
						|
{
 | 
						|
    error_clear_last();
 | 
						|
    $result = \mime_content_type($filename);
 | 
						|
    if ($result === false) {
 | 
						|
        throw FileinfoException::createFromPhpError();
 | 
						|
    }
 | 
						|
    return $result;
 | 
						|
}
 |