(HTTP 업로드 여부 오류 메시지 형식 (보안 장비), 크기,) 간단한 인증을위한 PHP 업로드 파일 업로드 파일

<BODY> 
<? PHP
 / * * 
* 유효성 검사 오류가 
오류가 있으면 예, 그것은 null을 반환하는 경우 *, 그것은 오류를 반환 
* / 
기능 검사 ( $ 파일 ) {
     // 확인 잘못된 : 1 
    IF ( $ 파일 [ '에러']! = 0 ) {
         스위치 ( $ 파일 [ '에러' ]) {
             케이스 1 :.
                  'php.ini의 파일 크기가 허용 된 최대 값을 초과 할 경우, 최대 값은'. 에 ini_get ( '는이 upload_max_filesize는' ) ,
             케이스 2 :
                 복귀 '파일 크기는 최대 허용 가능한 형태 초과' ;
             케이스 . 3 :
                 반환'업로드 할 파일의 일부분 만' ;
             사례 4 :
                 리턴 '없는 파일 업로드' ;
             사례 6 :
                 리턴 '임시 파일을 찾을 수 없습니다' ;
             사례 7 :
                 리턴 '파일 쓰기 실패' ;
             기본 :
                 리턴 '알 수없는 오류' ; 
        } 
    } 
    // 2. 형태로 확인 
   // 1 단계 : 자원 finfo 만들
$ 정보 = finfo_open (FILEINFO_MIME_TYPE를);
// 2 단계 : 리소스 파일 finfo과 비교
$ MIME은 = finfo_file ( $ 정보 , $ 파일 [ 'tmp_name'을]);
   // 세 번째 단계, 합법성을 비교
$는 허용 = 배열 ( '이미지 / JPEG', '이미지 / PNG', '이미지 / GIF가'); //이 카테고리를 허용 IF ! ( 와 in_array ( $ MIME , $ 허용 {)) . '만 업로드' 내파를 ','( $으로 눌러 허용 ) '포맷' ; } // (3)의 크기를 확인 $ 크기 = 123456789 , IF를 ( $ 파일 [ '크기']> $ 크기 ) { 반환 '파일 크기를 초과 할 수 없습니다.' 로 number_format ( $ 크기 /1024,1).'K를 ' ; } //4. HTTP 업로드되어 있는지 확인하지 않습니다 경우 (! Is_uploaded_file ( $ 파일 [ 'tmp_name' ])) 반환 '는 HTTP의 POST 파일 업로드로 <br> 아니다' , 반환 널 (null)를 ; // 오류 } // 양식 제출 IF (! ( $ _POST )) { // 오류시 업로드 오류가 표시됩니다 IF ( $ 오류 = 체크인 ( $ _FILES가 [ '얼굴' ])) { 에코 $ 오류 ; } 다른 { // 파일 업로드, 저장 파일을 업로드 폴더의 하루 $의 FolderName은 = DATE( '내지 Ym의-D'); // 폴더 이름 $의 FolderPath = "./ 업로드 / { $ FolderName은 }"; // 폴더 경로 IF (! Is_dir ( $ FolderPath )) 에서 mkdir ( $ FolderPath ); $ 파일 이름 = uniqid의 ( '' 참으로 ). strrchr ( $ _FILES [ '면'] [ '이름', '.'); // 파일명 $ 파일 경로 = " $ FolderPath / $ 파일명 "; // 파일 경로 IF ( 인 move_uploaded_file ( $ _FILES[ '면'] [ 'tmp_name'], $ 파일 경로 )) 에코 "上传成功,路径是{ $의 폴더 이름 } / { $ 파일명 }" ; 다른 에코 '上传失败로 <br>' ; } } ?> <form 방법 = "POST"행동 = ""에 enctype = '다중 / 폼 데이터 "> <input 타입 ="파일 "NAME ="얼굴 "> <input TYPE =" "NAME ="제출 버튼 " 값 = "上传"> </ FORM> </ body>

영업 실적

 

 

예방과 치료의 php.ini에서 파일 위장 fileinfo.dll 확장,에서는 FileInfo 확장 후 열기 기능을 열어야합니다, 당신은 * finfo_를 사용할 수 있습니다.

추천

출처www.cnblogs.com/ruoruchujian/p/11120761.html