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);
?>- 코스 추천
- 코스웨어 다운로드
현재 코스웨어를 다운로드할 수 없습니다. 현재 직원들이 정리하고 있습니다. 앞으로도 본 강좌에 많은 관심 부탁드립니다~ 















