파일 업로드 수업

1. 파일 업로드 클래스의 멤버 속성을 결정합니다

먼저 파일 업로드에 필요한 속성을 고려해야 합니다. 파일 파일 제출 양식을 작성하고 인쇄하면 됩니다. $_FILES에 어떤 매개변수가 있는지 확인하세요

새 file_upload_html.html 파일 만들기:

코드는 다음과 같습니다:

    Title 

用户头像上传

用户姓名:张三

现有头像:

양식에서 제출된 매개변수를 가져오고 새 file_upload_object.php를 만듭니다. 코드는 다음과 같습니다. follow

"; print_r($file); echo "
";

양식을 제출한 후 인쇄 결과는 다음과 같습니다.

微信图片_20180303130949.png

따라서 업로드 파일 클래스는 업로드된 파일의 이름, 파일 형식, 오류 플래그를 알아야 한다는 것을 알고 계실 것입니다. , 및 업로드 크기. 따라서 업로드 파일 클래스를 작성할 때 이러한 속성을 알아야 합니다. FileUpload.Class.php코드는 다음과 같습니다.


       

2 , 파일 업로드 클래스 메소드

비즈니스 요구에 따라 파일 업로드 클래스의 속성을 관리하는 메소드를 작성하고,

업로드 크기 설정, 업로드 등 경로 설정을 저장하고, 메소드 이름은 upload입니다. ()

구체적인 코드는 다음과 같습니다.

0){ $errorMsg="错误信息为:"; switch ($file['error']){ case 1:$errorMsg.="文件大小超过了php.ini中upload_max_filesize选项限制的值"; break; case 2:$errorMsg.="文件大小超过了表单中max_file_size选项指定的值!"; break; case 3:$errorMsg.="文件只有部分被上传!"; break; case 4:$errorMsg.="没有文件被上传!"; break; case 6:$errorMsg.="找不到临时文件夹!"; break; case 7:$errorMsg.="临时文件写入失败"; break; default:$errorMsg.='未知错误!'; break; } return false; } //判断上传的文件是否属于$type内 if(!in_array($file['type'],$this->type)){ //不在所属类型内时 $this->errorMessage="未定义的文件上传类型"; return false; } //判断文件上传的大小不能超过所定义的大小 if($file['size']>$this->maxSize){ $this->errorMessage="超出上传所限制的最大上传容量"; return false; } //给上传的图片重命名 $newFileName=uniqid("php_").strrchr($file['name'],"."); //设置上传文件的全目录 ./uploads/2018-03-03 $allPath1=$this->uploadSavePath."/".date("Y-m-d"); $allPath=$this->uploadSavePath."/".date("Y-m-d")."/".$newFileName; //判断这个目录是否存在 if(!file_exists($allPath1)){ mkdir($allPath1,'0777',true); } //移动 if(!move_uploaded_file($file['tmp_name'],$allPath)){ $this->errorMessage="文件上传失败"; }else{ return $allPath; }; } }

3, 파일 업로드 처리

클래스를 호출하여 파일 업로드 클래스의 객체를 생성하고 오류 메시지를 출력합니다

코드 수정 file_upload_object.php에서 다음과 같이:

upload($file); if(!$allPath){ //上传失败,打印错误信息 echo $fileUpload->errorMessage; //结束运行 die(); } require './file_upload_html.html';
html 페이지에서 src 속성을 수정합니다:

코드는 다음과 같습니다:微信图片_20180303134258.png

" onerror="this.src='./default.jpg'">

클릭하여 파일을 선택하고 업로드를 클릭합니다. 결과는 다음과 같습니다.

微信图片_20180303134427.png생각: 당연히 업로드된 아바타가 너무 큰데, 업로드된 아바타를 어떻게 작게 만들 수 있을까요?

([PHP] 파일 및 이미지 참조) 세부 작업 튜토리얼 단계)

지속적인 학습
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!