PHP는 파일 가장 무도회(파일 업로드)를 식별합니다.

藏色散人
풀어 주다: 2023-04-08 10:46:01
앞으로
2678명이 탐색했습니다.

PHP는 파일 가장 무도회(파일 업로드)를 식별합니다.

질문:

파일을 업로드할 때 업로드된 파일이 합법적인지 확인하는 방법이 필요합니다.

간단한 테스트: txt 파일 접미사를 jpg로 직접 변경하세요.

<!DOCTYPE html>
<html>
    <title>test</title>
    <body>
        <form enctype="multipart/form-data" action="test.php" method="POST">
            <!-- MAX_FILE_SIZE must precede the file input field -->
            <input type="hidden" name="MAX_FILE_SIZE" value="102400" />
            <!-- Name of input element determines name in $_FILES array -->
            Send this file: <input name="userfile" type="file" />
            <input type="submit" value="Send File" />
        </form>
    </body>
</html>
로그인 후 복사

1. $_FILES['userfile']['type']을 통해 파일 접미사를 가져옵니다.

$data = $_FILES[&#39;userfile&#39;];
var_dump($data);
/**结果**/
/*
array(5) {
  ["name"]=>
  string(8) "test.jpg"
  ["type"]=>
  string(10) "image/jpeg"
  ["tmp_name"]=>
  string(26) "/private/var/tmp/phpfyE3EC"
  ["error"]=>
  int(0)
  ["size"]=>
  int(19)
}
*/
로그인 후 복사

2 .Use 파일 경로 정보를 얻기 위한 pathinfo() 함수

$data = $_FILES[&#39;userfile&#39;];
// var_dump($data);
var_dump(pathinfo($data[&#39;name&#39;]));
/**结果**/
/*
array(4) {
  ["dirname"]=>
  string(1) "."
  ["basename"]=>
  string(8) "test.jpg"
  ["extension"]=>
  string(3) "jpg"
  ["filename"]=>
  string(4) "test"
}
*/
로그인 후 복사

감지되지 않음;

3.PHP의 확장 fileinfo(설치 및 활성화 필요)

$data = $_FILES[&#39;userfile&#39;];
$filename = $data[&#39;tmp_name&#39;];
$finfo   = finfo_open(FILEINFO_MIME_TYPE);//返回 mime 类型。 自 PHP 5.3.0 可用。
$mimetype = finfo_file($finfo, $filename);
finfo_close($finfo);
var_dump($mimetype);
/**结果**/
//string(10) "text/plain"
로그인 후 복사

예! 할 수 있다! 할 수 있다! 파일 MIME 형식이 jpg가 아닌 것으로 감지되었습니다!

더 많은 관련 PHP 지식을 보려면

php 튜토리얼

을 방문하세요!

위 내용은 PHP는 파일 가장 무도회(파일 업로드)를 식별합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:cnblogs.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿