finfo_open

finfo::__construct

(PHP >= 5.3.0, PHP 7, PHP 8, PECL fileinfo >= 0.1.0)

finfo_open -- finfo::__constructCreate a new finfo instance

Опис

Процедурний стиль

finfo_open(int $flags = FILEINFO_NONE, ?string $magic_database = null): finfo|false

Об'єктно-орієнтований стиль (constructor):

public finfo::__construct(int $flags = FILEINFO_NONE, ?string $magic_database = null)

This function opens a magic database and returns its instance.

Параметри

flags

One or disjunction of more Fileinfo constants.

magic_database

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.

Значення, що повертаються

(Procedural style only) Returns an finfo instance on success, або false в разі помилки.

Журнал змін

Версія Опис
8.1.0 Returns an finfo instance now; previously, a resource was returned.
8.0.3 magic_database is nullable now.

Приклади

Приклад #1 Об'єктно-орієнтований стиль

<?php
$finfo
= new finfo(FILEINFO_MIME, "/usr/share/misc/magic"); // return mime type ala mimetype extension

/* get mime-type for a specific file */
$filename = "/usr/local/something.txt";
echo
$finfo->file($filename);

?>

Приклад #2 Процедурний стиль

<?php
$finfo
= finfo_open(FILEINFO_MIME, "/usr/share/misc/magic"); // return mime type ala mimetype extension

if (!$finfo) {
echo
"Opening fileinfo database failed";
exit();
}

/* get mime-type for a specific file */
$filename = "/usr/local/something.txt";
echo
finfo_file($finfo, $filename);

/* close connection */
finfo_close($finfo);
?>

Поданий вище приклад виведе:

text/plain; charset=us-ascii

Примітки

Зауваження:

Generally, using the bundled magic database (by leaving magic_database and the MAGIC environment variables unset) is the best course of action unless you specifically need a custom magic database.

Прогляньте також