현재 위치: > 최신 기사 목록> finfo :: set_flags를 사용하여 finfo_file () 출력 형식을 제어하여 파일을보다 유연하게 처리 할 수있는 방법

finfo :: set_flags를 사용하여 finfo_file () 출력 형식을 제어하여 파일을보다 유연하게 처리 할 수있는 방법

gitbox 2025-09-02

PHP에서 Finfo_file ()은 파일의 MIME 유형 또는 기타 정보를 얻는 데 일반적으로 사용되는 기능입니다. 일반적으로 finfo_file () 함수는 파일의 마임 유형을 반환하고, 더 자세한 정보를 얻거나 반환 값의 형식을 변경하는 등 출력 형식을보다 정확하게 제어하려면 finfo :: set_flags () 메소드를 통해이를 수행 할 수 있습니다.

finfo :: set_flags ()FINFO 클래스의 메소드로 파일 정보가 추출되는 방법을 제어 할 수 있습니다. 플래그 비트를 설정하면 특정 요구에 맞게 FINFO_FILE () 함수의 동작을 조정할 수 있습니다.

이 기사는 finfo :: set_flags ()를 사용하여 Finfo_file () 의 출력 형식을 변경하는 방법을 자세히 소개합니다.

1. finfo :: set_flags () 소개

finfo :: set_flags ()는 FINFO 클래스의 메소드입니다. 파일 정보를 검색 할 때 추가 플래그를 설정하는 데 사용할 수 있습니다. 이 플래그는 파일 정보에 의해 반환되는 특정 형식 및 컨텐츠를 제어합니다. finfo :: set_flags () 메소드는 파일의 구문 분석 동작에 영향을 미치는 하나 이상의 일정한 플래그를 허용합니다.

일반적으로 사용되는 플래그 상수는 다음과 같습니다.

  • FileInfo_mime_type : 마임 유형 (기본 동작)을 반환합니다.

  • FileInfo_mime_encoding : 마임 인코딩을 반환합니다.

  • FileInfo_text : 파일이 텍스트 파일인지 여부를 반환합니다.

  • FileInfo_preserve_atime : 파일을 열 때 파일의 마지막 액세스 시간을 유지합니다.

2. Finfo 객체를 만듭니다

먼저 set_flags () 메소드를 사용하려면 FINFO 객체를 만들어야합니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 만들다 finfo 물체</span></span><span>
</span><span><span class="hljs-variable">$finfo</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">finfo</span></span><span>(FILEINFO_MIME);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

FINFO 객체가 위에 생성되고 기본 MIME 유형 플래그가 지정됩니다.

3. 깃발을 설정하십시오

set_flags () 메소드를 사용하여 FINFO 객체에 추가 플래그를 추가하여 파일 정보를 얻는 방법을 제어 할 수 있습니다. 논리 또는 연산자를 사용하여 여러 플래그를 결합 할 수 있습니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 설정 FILEINFO_MIME_TYPE 그리고 FILEINFO_MIME_ENCODING 심벌 마크</span></span><span>
</span><span><span class="hljs-variable">$finfo</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">set_flags</span></span><span>(FILEINFO_MIME_TYPE | FILEINFO_MIME_ENCODING);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

위의 코드는 두 개의 플래그를 설정합니다.

  • FileInfo_mime_type : 파일의 마임 유형을 반환합니다.

  • FileInfo_mime_encoding : 마임 인코딩을 반환합니다.

4. finfo_file ()을 사용하여 파일 정보를 얻습니다

플래그가 설정되면 finfo_file () 함수를 사용하여 파일 정보를 얻을 수 있습니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 사용 finfo_file 파일을 얻으십시오 MIME 类型그리고编码</span></span><span>
</span><span><span class="hljs-variable">$fileInfo</span></span><span> = </span><span><span class="hljs-variable">$finfo</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">file</span></span><span>(</span><span><span class="hljs-string">'example.jpg'</span></span><span>);

</span><span><span class="hljs-comment">// 출력 파일 MIME 类型그리고编码</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$fileInfo</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

5. 다른 일반적인 징후

FININFO_MIME_TYPEFILEINFO_MIME_ENCODING 외에도 FINFO 클래스는 다른 공통 플래그를 제공합니다.

  • FileInfo_mime : 파일의 마임 유형을 반환합니다 (인코딩 제외).

  • FileInfo_text : 파일이 텍스트 파일인지 확인하십시오.

  • FileInfo_devices : 파일이 장치 파일 인 경우 장치 유형이 반환됩니다.

예를 들어, 파일 유형의 파일 유형을 가져 와서 텍스트 파일인지 확인하려면 다음 코드를 사용할 수 있습니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 설정 FILEINFO_MIME 그리고 FILEINFO_TEXT 심벌 마크</span></span><span>
</span><span><span class="hljs-variable">$finfo</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">set_flags</span></span><span>(FILEINFO_MIME | FILEINFO_TEXT);

</span><span><span class="hljs-comment">// 파일 정보를 얻으십시오</span></span><span>
</span><span><span class="hljs-variable">$fileInfo</span></span><span> = </span><span><span class="hljs-variable">$finfo</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">file</span></span><span>(</span><span><span class="hljs-string">'example.txt'</span></span><span>);

</span><span><span class="hljs-comment">// 출력 파일 정보</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$fileInfo</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

6. 예 : 포괄적 인 응용 프로그램

여러 파일이 있고 파일 유형 및 인코딩에 따라 처리하려면 다음을 수행 할 수 있습니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 만들다 finfo 물체</span></span><span>
</span><span><span class="hljs-variable">$finfo</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">finfo</span></span><span>(FILEINFO_MIME);

</span><span><span class="hljs-comment">// 설정심벌 마크,얻다 MIME 类型그리고编码</span></span><span>
</span><span><span class="hljs-variable">$finfo</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">set_flags</span></span><span>(FILEINFO_MIME_TYPE | FILEINFO_MIME_ENCODING);

</span><span><span class="hljs-comment">// 파일 목록</span></span><span>
</span><span><span class="hljs-variable">$files</span></span><span> = [</span><span><span class="hljs-string">'example.jpg'</span></span><span>, </span><span><span class="hljs-string">'example.txt'</span></span><span>, </span><span><span class="hljs-string">'example.mp4'</span></span><span>];

</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$files</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$file</span></span><span>) {
    </span><span><span class="hljs-comment">// 파일 정보를 얻으십시오</span></span><span>
    </span><span><span class="hljs-variable">$fileInfo</span></span><span> = </span><span><span class="hljs-variable">$finfo</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">file</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>);

    </span><span><span class="hljs-comment">// 输出文件类型그리고编码</span></span><span>
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"File: <span class="hljs-subst">$file</span></span></span><span>\n";
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"MIME Type and Encoding: <span class="hljs-subst">$fileInfo</span></span></span><span>\n\n";
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

7. 요약

finfo :: set_flags () 메소드를 사용하여 finfo_file ()에서 반환 한 파일 정보 형식을 유연하게 조정할 수 있습니다. 특정 요구 사항에 따라 텍스트 파일이든 파일 유형, 인코딩과 같은 자세한 정보를 얻기 위해 다른 플래그를 설정할 수 있습니다. 이를 통해 특히 여러 유형의 파일을 처리 할 때 파일 유형을보다 정확하게 처리하고 구문 분석 할 수있어 코드 유연성과 안정성을 향상시킬 수 있습니다.

로고를 합리적으로 구성하면 파일 정보 획득의 정확성과 완전성을 보장하여 파일 업로드 및 파일 확인과 같은 기능 개발을 더 잘 지원할 수 있습니다.