finfo_open

finfo::__construct


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

finfo_open -- finfo::__construct — 새로운 finfo 인스턴스 생성


설명

절차적 스타일

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

객체 지향 스타일(생성자):

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

이 함수는 매직 데이터베이스를 열고 해당 인스턴스를 반환합니다.


매개변수

flags
하나 또는 더 많은 Fileinfo 상수의 분리입니다.
magic_database
일반적으로 /path/to/magic.mime과 같은 매직 데이터베이스 파일의 이름입니다. 지정하지 않으면 MAGIC 환경 변수가 사용됩니다. 환경 변수가 설정되어 있지 않으면 PHP의 번들 매직 데이터베이스가 사용됩니다.

null 또는 빈 문자열을 전달하는 것은 기본값과 동일합니다.


반환 값

(절차적 스타일만 해당) 성공하면 finfo 인스턴스를 반환하고 실패하면 false를 반환합니다.


변경 로그

버전 설명
8.1.0 이제 finfo 인스턴스를 반환합니다. 이전에 resource가 반환되었습니다.
8.0.0 magic_database는 이제 nullable입니다.

메모

경고 예상되는 매직 데이터베이스 형식은 PHP 5.3.11 및 5.4.1에서 변경되었습니다. 이로 인해 내부 매직 데이터베이스가 업그레이드되었습니다. 이것은 주로 외부 매직 데이터베이스가 사용되는 코드에 영향을 미칩니다. 이전 매직 파일 읽기는 이제 실패합니다. 또한 MIME 유형의 일부 텍스트 표현이 변경되었습니다. 예를 들어 PHP의 경우 반환된 "PHP 스크립트 텍스트" 대신 "PHP 스크립트, ASCII 텍스트"가 됩니다.

메모: 일반적으로 사용자 지정 매직 데이터베이스가 특별히 필요한 경우가 아니면 번들된 매직 데이터베이스를 사용하는 것이(magic_databaseMAGIC 환경 변수를 설정하지 않은 상태로 두는) 최상의 조치입니다.


Examples

예제 #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
                

기타