Blogger Information
Blog 30
fans 0
comment 0
visits 20000
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
10月12日作业,自定义一个上传异常类
人生就像过山车的博客
Original
478 people have browsed it

老师好, 10月12日作业如下,自定义一个上传异常类,如果出现页面错误,不是因为远程服务器数据库里,没有相应的表引起的,而是因为数据库密码不同引起的。点击页面底部的php中文网图片可以返回我的博客页面,老师辛苦了,感恩感恩。 最近事很多,比较忙,而且由于纽约进入了冬令时,从而时差变为了13小时,以至于无法第一时间看直播了,但是还是会忙里偷闲看录播以及补写作业的,由于本次作业是图片上传,会对线上服务器造成压力,所以不再发布到线上服务器,全部采用代码和本地测试截图方式完成,多谢多谢,代码如下:

表单部分

<!DOCTYPE html><html lang="en">
<head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <meta http-equiv="X-UA-Compatible" content="ie=edge">    <title>Document</title></head>
<body>
    <form action="form.php" method="POST" enctype="multipart/form-data">
        <input type="file" name="file">
        <button>上传</button>
    </form>
</body>
</html>

PHP部分

<?php
    //use Exception;
    class FileException extends Exception{
          public function __construct($message = "",$code = 0)          {              parent::__construct($message,$code);          }
          public function errorInfo(){
            return <<<ERROR
            <h2>
                <strong>{$this->getCode()}:</strong>                <span style="color:red">{$this->getMessage()}</span>                        </h2>
            ERROR;          }    }
    try{
        $filetype = ['jpg','jpeg','gif','png'];
    $filesize = 4000000;
    $filepath = '/uploads/';
   if(isset($_FILES['file']['name'])){
       $filename = $_FILES['file']['name'];
       $tempname = $_FILES['file']['tmp_name'];   }else{
       $error = $_FILES['file']['error'];
       if($error > 0){
           switch($error){
               case 1:
               case 2: throw new FileException('文件超过3M',12);
               case 3: throw new FileException('上传文件不完整',3);
               case 4: throw new FileException('没有上传文件',4);
               default: throw new FileException('未知错误',5);           }       }   }
    $extension = explode('.',$filename);
   
    //echo $extension;
    if(!in_array($extension,$filetype)){

        throw new FileException('请上传图片文件',6);

    }else{
        echo '您上传的是 '.$extension.' 格式的图片。';    }
    $filename = date('YmdHis'.time()).md5(mt_rand(1,99)).'.'.$extension;
    //echo $filename;
        if(is_uploaded_file($tempname)){
            if(move_uploaded_file($tempname,__DIR__.$filepath.$filename)){
                echo '<strong style="color:lightgreen">图片上传成功!</strong>';            }else{
                echo '无法移动图片,请重试!';            }

        }else{
            echo '<strong style="color:red">上传错误</strong>';        }
    }catch(FileException $e){                echo $e->errorInfo();    }
    
?>

功能测试截图


Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments