Correction status:qualified
Teacher's comments:
<!-- 1.文件上传的请求类型必须是POST 2.允许的数据类型必须是:multipart/form-data 3.如果想在当前的页面处理上传的话,action可能会有三种写法: 1).最懒的方式: 当前脚本名 2). 最死的方法: 当前脚本名 3).最酷的方法: --> <form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF'])?>" method="post" enctype="multipart/form-data"> <input type ="hidden" name="MAX_FILE_SIZE" value="54288j"> <fieldset> <legend align="center">文件上传</legend> <p> <strong>选择文件:</strong> <input type="file" name="upload"> </p> <p align="center"> <button type="submit" name="submit">上传</button> </p> </fieldset> </form> <?php echo '<hr>long time no see..'; if($_SERVER['REQUEST_METHOD'] == 'POST') { //1.检测是否有文件被上传 if(isset($_FILES['upload'])){ // 2.设置一下允许上传的类型 $allow = ['image/jpg','image/jpeg','image/png']; // 3.判断用户上传的文件是否正确 if(in_array($_FILES['upload']['type'],$allow)){ // 将用户文件上传到指定的临时目录: move_uploaded_file() if(move_uploaded_file($_FILES['upload']['tmp_name'],"upload/{$FILES['upload']['name']}")){ //上传成功 }else{ } } if($_FILES['upload']['error']>0){ echo '<p>错误的原因有:</p>' switch($_FILES['upload']['error']){ case 1: echo '文件太大'; break; case 2: echo '文件超过表单中的设置大小'; break; case 3: echo '文件只有一部分上传了'; break; case 4: echo '没有文件被上传'; break; case 6: echo '临时文件夹没有'; break; case 8: echo '上传意外中止'; break; default: echo '..'; } } } } ?>
点击 "运行实例" 按钮查看在线实例