finfo_*
함수는 파일에 대한 정보를 반환합니다. 가장 흥미로운 기능은 첫 번째 매개 변수는이 파일에 대한 반환 원하는 정보 만 인 자원입니다finfo_ * functions
string finfo_file(resource $finfo, string $file_name = NULL [, int $options = FILEINFO_NONE [, resource $context = NULL ]])
이다; 내 경우, 나는 FILEINFO_MIME_TYPE
을 원하는, 그래서 finfo_open()
기능 사용 : 내 업로드 된 파일의 MIME 형식을 얻을 수
resource finfo_open([int $options = FILEINFO_NONE [, string $magic_file = NULL ]])
및
$a = finfo_open(FILEINFO_MIME_TYPE)
echo finfo_file($a,$fileatt['tmp_name']);
와 끝까지, 그리고 모두가 잘 작동
그러나, 두 가지 질문 :
3 (선택 사양) 매개 변수가
finfo_file
이면int $options = FILEINFO_NONE
이지만 첫 번째 옵션은finfo_open
과 동일합니다.finfo_file
의 첫 번째 매개 변수에 리소스의 일부로 필요하므로 동일한 기능의 선택적 매개 변수 (int
)이기도 한 이유는 무엇입니까?초, 리소스 및 기능 이름
finfo_open
은 상당히 혼동스러운 것처럼 보입니다.mysql_*
함수에서 리소스은 쿼리의 결과입니다. 상당히 복잡한 개체로 이해할 수 있습니다. 그러나 여기에 리소스 그냥 문자열입니다, 그래서 PHP는 그것을 보이는 것보다 더 복잡하게 보입니까? 비슷하게, 파일이 조작되고 사용되어야 할 함수 중 하나가 일반적으로 어프로치라는 단어에 이라는 이름으로 열리고 그 이름에 처음에는 (나에게 어쨌든) 파일 스트림이 열리고/여기에서 파일에서 원하는 정보를 지정하는 데 사용됩니다. 이 용어들에 대한 이상한 역사적 이유가 있습니까?