PHP 개발 파일 업로드 튜...LOGIN

PHP 개발 파일 업로드 튜토리얼 캡슐화 기능

먼저 처리 파일의 모든 오류 정보를 하나의 파일에 넣어야 합니다

이제 function.php라는 함수 파일을 정의하겠습니다

여기서 file.html doaction.php 함수에는 3개의 파일을 사용하겠습니다. .php

첫 번째 페이지에 대해서는 자세히 설명하지 않겠습니다. 코드는 다음과 같습니다.

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>文件上传</title>
</head>
<body>
    <form method="post" action="doaction1.php" enctype="multipart/form-data">
        上传文件:<input type="file" name="myfile"><br>
                  <input type="submit" value="上传文件">
    </form>
</body>
</html>

doaction.php

헤더("Content-type: text/html; charset=utf-8")를 살펴보겠습니다. );
$fileinfo = $_FILES['myfile'];
$allowEXT = array('jpg','png','jpeg','gif');//파일 형식
$maxfile = 2097152; //파일 크기
$ ext = pathinfo($fileinfo['name'],PATHINFO_EXTENSION);//파일 형식 가져오기
$file = $fileinfo['error'] //저장소 오류 메시지

We 아직 이 파일 작성이 완료되지 않았습니다. 완료될 때까지 기다리십시오. 함수가 캡슐화되어 있으므로 캡슐화된 파일을 이 파일에 삽입한 다음 함수를 호출해야 합니다.

function.php 파일을 살펴보겠습니다. 코드는 다음과 같습니다. 다음과 같습니다:

<?php
    function files($file,$ext,$allowEXT,$maxfile,$size){
            //判断错误号
            if($file > 0){
                switch ($file){
                    case 1: $msg=  "上传文件超过了php 配置文件中 upload_max_filesize 的值";break;
                    case 2: $msg=  "上传文件超过max_file_size 大小";break;
                    case 3: $msg=  "文件部分被上传";break;
                    case 4: $msg=  "没有选择上传文件";break;
                    case 6: $msg=  "没有找到临时目录";break;
                    case 7: 
                    case 8: $msg=  "系统错误";break;
                }
                exit($msg);
            }
            //检测文件上传的类型
            if(!in_array($ext, $allowEXT)){
                exit('非法文件类型');
            }

            //检测上传文件的大小
            if($fileinfo['size']>$maxfile){
                exit('文件过大');
            }

            //检测是否是http post方式提交的
            if(!is_uploaded_file($fileinfo['$tmp_name'])){
                exit("文件不是以POST方式提交");
            }
            
    }
?>

위 코드로 우리는 캡슐화를 완료했습니다. 함수에는 4개의 매개변수가 있습니다

앞에서 doction.php가 function.php를 가져온 다음 함수를 호출해야 한다고 언급했습니다.

문서의 전체 코드 .php 파일은 다음과 같습니다:

<?php
    header("Content-type: text/html; charset=utf-8");
    require_once("function.php"); 
    $fileinfo = $_FILES['myfile'];
    $allowEXT = array('jpg','png','jpeg','gif');//文件格式
    $maxfile = 2097152; //2M   //文件多大
    $ext = pathinfo($fileinfo['name'],PATHINFO_EXTENSION);//获取文件类型
    $file = $fileinfo['error']; //存放错误信息
    $size = $fileinfo['size'];
    files($file,$ext,$allowEXT,$maxfile,$size);
?>


<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>文件上传</title> </head> <body> <form method="post" action="doaction1.php" enctype="multipart/form-data"> 上传文件:<input type="file" name="myfile"><br> <input type="submit" value="上传文件"> </form> </body> </html>
코스웨어